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
* 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
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
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
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
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
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
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
* 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
* 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
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
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
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
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
* 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
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
* 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
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
-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