Commit graph

896 commits

Author SHA1 Message Date
ivucica
531715f28c Fixed images appearing in bottom left corner first.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/back/trunk@37144 72102866-910b-0410-8b05-ffd578937521
2013-09-23 18:29:40 +00:00
ivucica
8bef47a69e Fixes for doublebuffering. (Nearly?) correct implementation of -compositeGState: and -drawGState:. Temporarily fixed image drawing issues by lying about drawing to screen.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/back/trunk@37142 72102866-910b-0410-8b05-ffd578937521
2013-09-23 18:04:06 +00:00
ivucica
d751693eb4 Added OPGStateRef tracking and switching at appropriate times. Added OpalGState's -copyWithZone:.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/back/trunk@37119 72102866-910b-0410-8b05-ffd578937521
2013-09-19 22:39:11 +00:00
ivucica
8da244ce06 Enabled doublebuffering. Fixed some debug code, disabled some other
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/back/trunk@37111 72102866-910b-0410-8b05-ffd578937521
2013-09-18 21:49:32 +00:00
ericwa
35ec17d74d * Source/opal/OpalFontInfo.m: Use new OPFontGetGlyphWithCharacter to
properly look up the glyph for a character.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/back/trunk@37099 72102866-910b-0410-8b05-ffd578937521
2013-09-17 21:51:02 +00:00
ivucica
e13edef107 (completing the previous commit)
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/back/trunk@37097 72102866-910b-0410-8b05-ffd578937521
2013-09-17 21:47:09 +00:00
ivucica
a4dc4a87b6 Fixed erroneous offset of glyphs by taking -defaultLineHeightForFont, multiplying by 0.66, and adding that to pt.y. No idea why 0.66 is the right number.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/back/trunk@37095 72102866-910b-0410-8b05-ffd578937521
2013-09-17 21:23:58 +00:00
ivucica
d3381de3fa Partially fixed -GSShowGlyphsWithAdvances::: by removing some temporary debugging code.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/back/trunk@37093 72102866-910b-0410-8b05-ffd578937521
2013-09-17 19:42:01 +00:00
ericwa
30a4c9075b * Source/opal/OpalFontInfo.m: Move font space to user space conversion
to a separate method. Implement -glyphIsEncoded:, -advancementForGlyph:,
-glyphForCharacter:, -glyphWithName:.

For -boundingRectForGlyph:, and -widthOfString:, return fake, fixed
values.
* Source/opal/OpalContext.m: Fix -isDrawingToScreen implementation;
it now returns YES. This has the unfortunate side effect of breaking
image drawing... but, on the positive side, causes NSLayoutManager
to make calls to GSShowGlyphsWithAdvances in batches of up to
16 glyphs, instead of one at a time...!
* Source/opal/OpalGState.m: Implement -GSSetFont:, and make
-GSShowGlyphsWithAdvances: call CGContextShowGlyphsWithAdvances

Overall state is glyphs are drawn.. they appear upside down,
and the glyph runs only seem to draw at (0, 0).


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/back/trunk@37087 72102866-910b-0410-8b05-ffd578937521
2013-09-17 06:53:08 +00:00
ivucica
8b2171d644 Fixed scale of metrics by using unitsPerEm and pointSize.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/back/trunk@37084 72102866-910b-0410-8b05-ffd578937521
2013-09-16 23:20:14 +00:00
ivucica
5b21bf465d Opal backend: Progress on implementing fonts based on Opal's Core Graphics and fontconfig/ classes in gnustep-back.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/back/trunk@37082 72102866-910b-0410-8b05-ffd578937521
2013-09-16 22:46:45 +00:00
ivucica
5dd127aec9 In preparation for reusing this code in the Opal backend, moved fontconfig code to a dedicated set of classes that are now superclasses of Cairo backend's font classes.
Fixed a bug in CairoGState: a NSDebugMLLog() had this obvious mistake in its format (as was printed out by the compiler): @"%self"



git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/back/trunk@37066 72102866-910b-0410-8b05-ffd578937521
2013-09-10 21:07:03 +00:00
ericwa
31ff3e1ba1 * Source/x11/XIMInputServer.m: If the requested XIM style
(the GSXIMInputMethodStyle user default) is not available,
fall back to using a stlye that both the X server and
GNUstep support, if any. Also, add support for NoneStyle, which
is for simple input methods that don't have any visualization.
Problem reported and tested by Riccardo.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/back/trunk@37065 72102866-910b-0410-8b05-ffd578937521
2013-09-10 20:00:11 +00:00
ivucica
4d64628df3 Opal: Implemented -defaultLineHeightForFont, the key to getting
GNUstep layouting system to use information provided in
-advancementForGlyph:.



git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/back/trunk@37058 72102866-910b-0410-8b05-ffd578937521
2013-09-09 21:27:45 +00:00
fredkiefer
3182dfd306 * Source/x11/XGGLContext.m,
* Source/x11/XGGLFormat.m: Better error reporting by converting
  glGetError() to a string.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/back/trunk@37047 72102866-910b-0410-8b05-ffd578937521
2013-09-08 18:19:12 +00:00
ericwa
55da790dae * Source/x11/XIMInputServer.m: Add the setlocale(LC_CTYPE, "") call
back that I removed last year (r35152).

I tested the fcitx input method, and without the setlocale call,
XOpenIM would fail. I'm not sure what the best plan is in the long
term, I wanted to avoid calling setlocale from the core frameworks
but in this case xlib seems to require it.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/back/trunk@37002 72102866-910b-0410-8b05-ffd578937521
2013-08-21 22:30:15 +00:00
ivucica
2dadc661ff 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
fredkiefer
5e0b1d096d * 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
ivucica
d91d835c5d 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
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
ivucica
5a67ea5d8e 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
ivucica
2717ed4045 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
ivucica
a73c2e0fc5 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
ivucica
333059a5d8 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
fredkiefer
b5dff3e089 * 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
fredkiefer
d6149a4ca1 * 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
rfm
e1551e60be 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
ivucica
0752783e29 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
ivucica
ed31e1321a 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
espectador
430751201b 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
ivucica
6ee7886922 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
ivucica
467ff9cbf2 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
fredkiefer
c536fdb0f2 * 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
gcasa
803afa868a * 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
fredkiefer
7bc7a5c8ed 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
fredkiefer
e391153348 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
fredkiefer
264f3eb3e2 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
fredkiefer
48fe6ef82c * 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
fredkiefer
fefa08c1b7 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
fredkiefer
255ee1a3d8 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
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
fredkiefer
ad749a173a * 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
fredkiefer
a00f4f08e8 * 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
gcasa
187e54783a * 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
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
fredkiefer
6eb76f47f1 * 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
fredkiefer
d8dc387937 * 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
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
wlux
2e13792007 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
fredkiefer
225596d228 * 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
qmathe
3b74a4c14b 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
ericwa
3ba33eb1b1 * 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
ericwa
0172f2afac * 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
fredkiefer
755eaf44a4 * 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
wlux
865c1cf8c8 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
fredkiefer
e850d3db44 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
fredkiefer
a6d81f4df2 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
ericwa
cfe6b35296 * 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
ericwa
50b1296149 * 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
wlux
8199abe52f 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
wlux
680e1c9eb7 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
wlux
5bdfbbb1af 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
wlux
a570a5190f 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
ericwa
25c7e8a1b9 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
ericwa
e8e54bc0a8 * 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
ericwa
9fcefd73fc * 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
ericwa
a27098a2be * 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
fredkiefer
e702026031 * 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
fredkiefer
7aedf8a440 * 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
ericwa
14e029b4ac * 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
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
fredkiefer
2dc367c44e 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
fredkiefer
cfb38e6db2 * 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
fredkiefer
9b784885d4 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
ericwa
a5e54c9ebd * 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
ericwa
988b736401 * 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
fredkiefer
35ced6b05d * 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
fredkiefer
57b452fa2f * 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
fredkiefer
d98abdb5b9 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
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
a197ff8468 * 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
fredkiefer
528eb99f0f * 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
ericwa
4bf77a7647 * 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
ericwa
21a9aa8b3f * 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
ericwa
c048f8882f * 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
ericwa
2c788e3701 * 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
ericwa
81ac170311 * 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
ericwa
667db18ffc * 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
ericwa
83efe751a0 * 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
ericwa
765d7b443d * 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
ericwa
407a90efc0 * 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
ericwa
1d8df067f3 * 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
fredkiefer
590eedf3c0 * 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
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
wlux
f8dda0994b 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
theraven
31f64e4f27 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