Commit graph

892 commits

Author SHA1 Message Date
Marcian Lytwyn
36d045cf0a Move win32 header files to enclosed section
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/back/branches/gnustep_testplant_branch@36911 72102866-910b-0410-8b05-ffd578937521
2013-07-21 13:22:59 +00:00
Marcian Lytwyn
afe41336df Work around fix for non-retained buffered windows not re-displaying correctly with cairo on MSWindows
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/back/branches/gnustep_testplant_branch@36907 72102866-910b-0410-8b05-ffd578937521
2013-07-20 16:32:35 +00:00
Marcian Lytwyn
7b6690c718 Fix monitor frame coordinate calculation and reset monitors on WM_DISPLAYCHANGE message, sending screen change notification
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/back/branches/gnustep_testplant_branch@36722 72102866-910b-0410-8b05-ffd578937521
2013-06-11 23:53:28 +00:00
Marcian Lytwyn
95a8e8d68f Basic changes for clearer code review
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/back/branches/gnustep_testplant_branch@36651 72102866-910b-0410-8b05-ffd578937521
2013-05-19 22:46:35 +00:00
Marcian Lytwyn
09301e648c Fix GDI leak in window create
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/back/branches/gnustep_testplant_branch@36649 72102866-910b-0410-8b05-ffd578937521
2013-05-19 19:45:05 +00:00
Marcian Lytwyn
5006663d2d Wrap WIN32 server call to windowEventProc with an autorelease pool to avoid holding window surfaces causing memory issues
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/back/branches/gnustep_testplant_branch@36609 72102866-910b-0410-8b05-ffd578937521
2013-05-10 01:21:18 +00:00
Marcian Lytwyn
16ef33d4c4 Use device parameter rather than GSWINDEVICE macro in case self destroyed
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/back/branches/gnustep_testplant_branch@36604 72102866-910b-0410-8b05-ffd578937521
2013-05-09 01:49:46 +00:00
Marcian Lytwyn
612a141f28 Check for self=nil before processing in init
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/back/branches/gnustep_testplant_branch@36603 72102866-910b-0410-8b05-ffd578937521
2013-05-09 01:32:02 +00:00
Marcian Lytwyn
acf6d13308 Window IME generic updates for handling korean, japanese, etc
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/back/branches/gnustep_testplant_branch@36055 72102866-910b-0410-8b05-ffd578937521
2013-02-01 17:41:23 +00:00
Marcian Lytwyn
fbb6f1257d Fix: restrict keyboard input during global mouse capture
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/back/branches/gnustep_testplant_branch@36050 72102866-910b-0410-8b05-ffd578937521
2013-01-31 16:25:51 +00:00
Marcian Lytwyn
896657c562 Fix: use boolForKey instead of objectForKey
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/back/branches/gnustep_testplant_branch@36049 72102866-910b-0410-8b05-ffd578937521
2013-01-31 14:58:25 +00:00
Marcian Lytwyn
9e3bd1f431 Update for windows system cursor processing
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/back/branches/gnustep_testplant_branch@36048 72102866-910b-0410-8b05-ffd578937521
2013-01-31 14:54:37 +00:00
Marcian Lytwyn
3390d6a6b9 Update for handling mouse capture/release and system cursors
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/back/branches/gnustep_testplant_branch@36043 72102866-910b-0410-8b05-ffd578937521
2013-01-30 22:23:32 +00:00
Marcian Lytwyn
46d6bb5fa4 BETA VERSION - NOT FINISHED - SYSTEM MOUSE CURSOR TRACKING
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/back/branches/gnustep_testplant_branch@36036 72102866-910b-0410-8b05-ffd578937521
2013-01-29 23:42:10 +00:00
Marcian Lytwyn
1c5a0d1e0a Fix cross-hair on magnifier in color panel
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/back/branches/gnustep_testplant_branch@35996 72102866-910b-0410-8b05-ffd578937521
2013-01-18 01:29:06 +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
809c91a6c1 Allow a non-composing character to terminate the IME composing sequence
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/back/branches/gnustep_testplant_branch@35986 72102866-910b-0410-8b05-ffd578937521
2013-01-16 16:07:42 +00:00
Marcian Lytwyn
9c1c78273c IME composition fix for mis-handling of last character sequence
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/back/branches/gnustep_testplant_branch@35984 72102866-910b-0410-8b05-ffd578937521
2013-01-15 21:53:54 +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
Doug Simons
2a6477c928 Fix a bug that could cause a modal run loop to lock up if the modal window is closed by clicking the close button.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/back/branches/gnustep_testplant_branch@35948 72102866-910b-0410-8b05-ffd578937521
2013-01-11 03:12:56 +00:00
Marcian Lytwyn
25d6855dc0 Merge back with main branch
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/back/branches/gnustep_testplant_branch@35814 72102866-910b-0410-8b05-ffd578937521
2012-11-21 20:58:07 +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
0ebb1b1411 Don't release DC's for non-retained surfaces
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/back/branches/gnustep_testplant_branch@35743 72102866-910b-0410-8b05-ffd578937521
2012-10-25 21:28:28 +00:00
Marcian Lytwyn
2d72a18f1a Another stray log
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/back/branches/gnustep_testplant_branch@35741 72102866-910b-0410-8b05-ffd578937521
2012-10-25 19:26:26 +00:00
Marcian Lytwyn
e5e02267f9 Remove debug log
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/back/branches/gnustep_testplant_branch@35740 72102866-910b-0410-8b05-ffd578937521
2012-10-25 19:15:48 +00:00
Marcian Lytwyn
41ebb7a852 HOPEFULLY - final changes for cairo
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/back/branches/gnustep_testplant_branch@35739 72102866-910b-0410-8b05-ffd578937521
2012-10-25 18:53:03 +00:00
Doug Simons
9c3739a27a Fix findWindowAt:windowRef:excluding: to skip windows with the ignoresMouseEvents property set.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/back/branches/gnustep_testplant_branch@35735 72102866-910b-0410-8b05-ffd578937521
2012-10-25 04:07:30 +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
30941f5681 TEMPORARY update for cairo - remove logs
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/back/branches/gnustep_testplant_branch@35668 72102866-910b-0410-8b05-ffd578937521
2012-10-11 20:53:36 +00:00
Marcian Lytwyn
9b0f83a5d9 TEMPORARY updates for cairo processing on MSWindows
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/back/branches/gnustep_testplant_branch@35666 72102866-910b-0410-8b05-ffd578937521
2012-10-11 20:40:21 +00:00
Jonathan Gillaspie
86c6036739 Fix for fatal exceptions when a nil mouse event tried to post
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/back/branches/gnustep_testplant_branch@35665 72102866-910b-0410-8b05-ffd578937521
2012-10-10 21:42:14 +00:00
Marcian Lytwyn
0cfb23088f Yet another temporary fix for cairo window expose method
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/back/branches/gnustep_testplant_branch@35576 72102866-910b-0410-8b05-ffd578937521
2012-09-19 18:06:44 +00:00
Marcian Lytwyn
a63d526943 TEMPORARY FIX for borderless windows i.e. WS_POPUP types
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/back/branches/gnustep_testplant_branch@35540 72102866-910b-0410-8b05-ffd578937521
2012-09-07 20:04:11 +00:00
Marcian Lytwyn
001e3307ec attempt to fix WS_POPUP showing up immediately on Windows 7
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/back/branches/gnustep_testplant_branch@35535 72102866-910b-0410-8b05-ffd578937521
2012-09-06 22:43:12 +00:00
Marcian Lytwyn
005f0ee278 Remove unecessary and invalid win32 include
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/back/branches/gnustep_testplant_branch@35479 72102866-910b-0410-8b05-ffd578937521
2012-08-29 22:53:26 +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
c276a5d4d0 Cairo win32 fixes
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/back/branches/gnustep_testplant_branch@35373 72102866-910b-0410-8b05-ffd578937521
2012-08-08 22:27:23 +00:00
Marcian Lytwyn
643bedc834 Cairo win32 fixes
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/back/branches/gnustep_testplant_branch@35372 72102866-910b-0410-8b05-ffd578937521
2012-08-08 22:26:52 +00:00
Marcian Lytwyn
3aeec4ae2e Fixes compile warnings
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/back/branches/gnustep_testplant_branch@35371 72102866-910b-0410-8b05-ffd578937521
2012-08-08 22:25:33 +00:00
Marcian Lytwyn
5f7ea64199 Cairo win32 fixes
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/back/branches/gnustep_testplant_branch@35370 72102866-910b-0410-8b05-ffd578937521
2012-08-08 22:23:43 +00:00
Marcian Lytwyn
110201169d Cairo win32 fixes
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/back/branches/gnustep_testplant_branch@35369 72102866-910b-0410-8b05-ffd578937521
2012-08-08 22:23:13 +00:00
Marcian Lytwyn
49f971cb28 Cairo win32 fixes
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/back/branches/gnustep_testplant_branch@35368 72102866-910b-0410-8b05-ffd578937521
2012-08-08 22:22:36 +00:00
Marcian Lytwyn
f5c781e78f Cairo win32 fixes
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/back/branches/gnustep_testplant_branch@35367 72102866-910b-0410-8b05-ffd578937521
2012-08-08 22:22:10 +00:00
Marcian Lytwyn
598be2609a Cairo win32 implementation
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/back/branches/gnustep_testplant_branch@35366 72102866-910b-0410-8b05-ffd578937521
2012-08-08 22:21:19 +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
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
Eric Wasylishen
6866ad9961 * Source/x11/XGServerEvent.m (-processEvent:): Rewrite coalescing
code to only combine an uninterrupted set of scroll events.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/back/trunk@34558 72102866-910b-0410-8b05-ffd578937521
2012-01-17 00:43:29 +00:00
Eric Wasylishen
3689ee5c35 * Source/x11/XGServerEvent.m (-processEvent:): Coalesce
mousewheel events


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/back/trunk@34554 72102866-910b-0410-8b05-ffd578937521
2012-01-16 06:37:18 +00:00
Eric Wasylishen
47c06f7ca2 * Source/x11/XGServer.m: Don't read X events in NSConnectionReplyMode
* Source/x11/XGServerEvent.m (-receivedEvent:type:extra:forMode:):
Only read one event from the xlib event queue, instead of all of them.
* Source/x11/XGServerEvent.m (-getEventMatchingMask:beforeDate:inMode:):
Remove call to -receivedEvent:type:extra:forMode:
* Source/x11/XGServerEvent.m (-discardEventsMatchingMask:beforeEvent:):
Remove call to -receivedEvent:type:extra:forMode:

These changes are an attempt to fix a bug where a steady stream
of X events can postpone autodisplay indefinitely. To see it, open
a long document in Ink and scroll with the mousewheel slowly but
continuously. If you scroll steadily enough, the window will not
update until you stop scrolling.

This occurs beacuse autodisplay only occurs when the AppKit event
queue is empty and the runloop runs, and without the above changes,
the AppKit event queue was filling up and not emptying until the
mousewheel events stopped arriving.

In the long run I think we should get rid of the AppKit event queue
and have XGServer override the default implementation of
-[GSDisplayServer getEventMatchingMask:beforeDate:inMode:dequeue:]
and related methods with custom ones that interact
directly with the Xlib event queue.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/back/trunk@34553 72102866-910b-0410-8b05-ffd578937521
2012-01-16 06:33:45 +00:00
Fred Kiefer
c7080db085 * Source/winlib/WIN32FontEnumerator.m: Add missing include.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/back/trunk@34498 72102866-910b-0410-8b05-ffd578937521
2012-01-11 18:34:55 +00:00
Fred Kiefer
ea4772c07e * Source/winlib/WIN32FontEnumerator.m,
* Source/cairo/CairoFontEnumerator.m,
* Source/xlib/GSXftFontInfo.m,
* Source/xlib/XGFont.m: Use NSDebugLLog instead of NSDebugLog to
reduce amount of default output.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/back/trunk@34493 72102866-910b-0410-8b05-ffd578937521
2012-01-11 08:47:27 +00:00
Eric Wasylishen
caa986a9d6 * Source/cairo/CairoGState.m (-GSShowGlyphsWithAdvances:):
Update the current point after drawing text. Should not affect
anything in gui right now, but will be useful later.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/back/trunk@34388 72102866-910b-0410-8b05-ffd578937521
2012-01-02 09:23:05 +00:00
Eric Wasylishen
b6588a43bd * 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
Eric Wasylishen
4f613a2a66 * 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
Fred Kiefer
fb1f42cbee Revert change to use AltGr as Alt key. You may still get the same result
by setting a user default.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/back/trunk@34225 72102866-910b-0410-8b05-ffd578937521
2011-11-28 17:00:50 +00:00
Fred Kiefer
6e7cc10890 * Source/x11/XGGLFormat.m (-assembleGLXAttributes:): Use
GLX_BUFFER_SIZE for NSOpenGLPFAColorSize instead of setting all
the single colour sizes, which was wrong.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/back/trunk@34136 72102866-910b-0410-8b05-ffd578937521
2011-11-07 20:53:54 +00:00
Fred Kiefer
5454ce9e20 Use XK_ISO_Level3_Shift as second alternate key and document this change.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/back/trunk@34130 72102866-910b-0410-8b05-ffd578937521
2011-11-07 09:41:38 +00:00
Eric Wasylishen
696978c4ab * Source/x11/context.c: check for NULL from XRenderFindVisualFormat
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/back/trunk@34120 72102866-910b-0410-8b05-ffd578937521
2011-11-04 18:04:12 +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
b5d10eade8 * Source/cairo/CairoFontEnumerator.m: Define FC_WEIGHT_ULTRABLACK
for old versions of fontconfig.
Patch by Richard Frith-Macdonald <rfm@gnu.org>


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/back/trunk@34035 72102866-910b-0410-8b05-ffd578937521
2011-10-20 09:15:58 +00:00
Fred Kiefer
8d50a6cef9 * Headers/x11/XWindowBuffer.h: Bracket even more usage of shm in
conditional compilation.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/back/trunk@34034 72102866-910b-0410-8b05-ffd578937521
2011-10-20 08:34:49 +00:00
Fred Kiefer
3cc89b962e Protect usage of shape extension.
Should fix bug #34552.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/back/trunk@34016 72102866-910b-0410-8b05-ffd578937521
2011-10-17 11:28:54 +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
9e4b957085 * 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
Eric Wasylishen
9b930f8ec7 * 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
Fred Kiefer
172dc48fe7 * Source/cairo/CairoGState.m (-saveClip, -restoreClip:,
-drawGradient:...): Check that the _ct isnt NULL.
* Source/cairo/CairoGState.m (doubleFromUserSpace,
  floatToUserSpace): Use correct types in these helper functions.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/back/trunk@33830 72102866-910b-0410-8b05-ffd578937521
2011-09-12 10:40:52 +00:00
Fred Kiefer
bc7f059583 * Source/x11/XGDragView.m (GSActionForDragOperation,
GSDragOperationForAction): Corrected drag type conversion.
  Patch by Andreas Schick <andreas.schik@googlemail.com>


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/back/trunk@33829 72102866-910b-0410-8b05-ffd578937521
2011-09-12 09:18:29 +00:00
Eric Wasylishen
ea5cc1646e * Source/cairo/CairoGState.m (-drawGState:...): Check that the source
context is non-NULL before calling cairo_get_target on it. Log a warning
when either the source context or target context is NULL.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/back/trunk@33828 72102866-910b-0410-8b05-ffd578937521
2011-09-12 00:46:15 +00:00
Eric Wasylishen
ee87a3db27 * Source/cairo/CairoGState.m (-drawGState:...): Use CAIRO_EXTEND_PAD
on the pattern to prevent blurred edges when scaling up.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/back/trunk@33759 72102866-910b-0410-8b05-ffd578937521
2011-08-17 05:47:18 +00:00
Eric Wasylishen
1858519713 * Source/cairo/CairoGState.m (-DPSstroke:): If the line width is
0, temporarily set it to 1 unit wide (in device space.) This
is an attempt at matching the behaviour of the setlinewidth
PostScript operator, which is supposed to interpret 0 as meaning
the thinnest line that the output device can draw.
Note that Quartz (and cairo) draw nothing with a line width of 0.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/back/trunk@33739 72102866-910b-0410-8b05-ffd578937521
2011-08-15 19:23:49 +00:00
Eric Wasylishen
337ce46bba * Source/win32/WIN32Server.m (-resolutionForScreen:):
Scale the result by 0.75 so the Windows default of 96 DPI is
mapped to the GNUstep default of 72 DPI. While this sounds wrong,
72 and 96 are just "virtual" DPI's; both mean 1 point = 1 pixel,
so it's actually the right thing to do.
* Source/x11/XGServerWindow.m (-resolutionForScreen:):
Comment out the implementation and just return 72 for now,
because I'm not sure if we can trust the value the X server
gives us.

NOTE: Currently -gui ignores these methods and only looks at the
GSScaleFactor user default. I'm going to make -gui use the server
values now, because it's safe to do so on Windows (the system
DPI is set by the user, and affects all applications.)

NOTE: We might consider refactoring these methods to be called
scaleFactorForScreen: to make it clearer what they do.

git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/back/trunk@33658 72102866-910b-0410-8b05-ffd578937521
2011-07-30 20:39:10 +00:00
Eric Wasylishen
883c8cbd61 * Source/winlib/WIN32GState.m (GSCreateBitmap): Add support for
(8 bit-greyscale, 8-bit alpha) format. This fixes various 
default images not showing (menu arrows, scroller arrows, etc.)

git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/back/trunk@33582 72102866-910b-0410-8b05-ffd578937521
2011-07-18 18:13:47 +00:00
Eric Wasylishen
726d4a0801 * Source/x11/XGServerWindow.m: Add Xcursor support (for RGBA
imagecursor support.) configure test is still TODO, so it isn't
compiled in at the moment.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/back/trunk@33563 72102866-910b-0410-8b05-ffd578937521
2011-07-15 19:05: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
Eric Wasylishen
3c80cf5c92 * Source/cairo/XGCairoSurface.m (-contentsOfScreen:inRect:):
Use the passed rect properly.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/back/trunk@33444 72102866-910b-0410-8b05-ffd578937521
2011-07-03 23:59:35 +00:00
Eric Wasylishen
9bc09976ee * Source/cairo/XGCairoSurface.m: Implementation of
-[GSDisplayServer contentsOfScreen:inRect:] for x11/cairo


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/back/trunk@33443 72102866-910b-0410-8b05-ffd578937521
2011-07-03 23:45:22 +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
David Chisnall
7d3d3852c9 Call NSZoneFree() on pointer allocated with NSAllocateCollectable(), not free(). This is a no-op in GC mode, and will free the memory in non-GC mode.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/back/trunk@33148 72102866-910b-0410-8b05-ffd578937521
2011-05-27 13:53:57 +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
David Chisnall
1b26d9be44 Use NSAllocateCollectable() for some things that store pointers.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/back/trunk@33106 72102866-910b-0410-8b05-ffd578937521
2011-05-24 16:37:26 +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