Commit graph

867 commits

Author SHA1 Message Date
fredkiefer
8af4ce75c4 * Source/win32/WIN32Server.m (LoadDisplayMonitorInfo):
Switch monitor logging to Debug level.
        Patch by Jonathan Gillaspie <jonathan.gillaspie@testplant.com>


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/back/trunk@37640 72102866-910b-0410-8b05-ffd578937521
2014-01-27 21:59:33 +00:00
fredkiefer
ece8676494 * Source/art/blit.m(MPRE): Remove compiler warning.
* Source/art/image.m(-DPSimage:::::::::::): Correct parameter
        types. Fixes bug #41274.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/back/trunk@37615 72102866-910b-0410-8b05-ffd578937521
2014-01-19 10:39:21 +00:00
thebeing
9b154f183b Roll back addition of redundant method.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/back/trunk@37539 72102866-910b-0410-8b05-ffd578937521
2014-01-05 23:03:35 +00:00
fredkiefer
3db5c5231a * Source/x11/XGServerWindow.m(-_checkStyle:): Change NSLog into
NSDebugLLog.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/back/trunk@37535 72102866-910b-0410-8b05-ffd578937521
2014-01-05 16:40:32 +00:00
thebeing
38cbd4fcb7 Add a method to GSDisplayServer that allows you to obtain the
identifier used by the backend's windowing system instead of
just the GNUstep-internal window number. On X11, the identifier
is useful, among other things, to implement the D-Bus menu 
protocol.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/back/trunk@37533 72102866-910b-0410-8b05-ffd578937521
2014-01-01 19:45:26 +00:00
fredkiefer
3a41dc037c * Source/cairo/CairoGState.m (-GSSetFont:),
* Source/cairo/CairoFaceInfo.m (-drawGlyphs:...): Use scaled
  font directly.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/back/trunk@37523 72102866-910b-0410-8b05-ffd578937521
2013-12-29 22:43:15 +00:00
fredkiefer
7ce71f0ddc * Source/xlib/GSXftFontInfo.m
* Source/xlib/XGFontManager.m
* Source/xlib/XGBitmap.m: Remove some compiler warnings.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/back/trunk@37519 72102866-910b-0410-8b05-ffd578937521
2013-12-26 13:02:56 +00:00
fredkiefer
abcce60893 * Source/cairo/CairoFaceInfo.m (-fontFace): Warn about the usage
of non-scalable fonts.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/back/trunk@37490 72102866-910b-0410-8b05-ffd578937521
2013-12-23 12:36:09 +00:00
fredkiefer
3f72f49afb * Source/x11/XGServerWindow.m (-_createBuffer, -windowbacking::,
-setWindowdevice:forContext:): Move code from last patch around a bit.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/back/trunk@37475 72102866-910b-0410-8b05-ffd578937521
2013-12-18 22:34:20 +00:00
ericwa
234703ae7a * Source/x11/XGServerWindow.m (-_createBuffer): Fix a big
memory leak noticed by Riccardo with the cairo backend,
by #ifdef-ing out this method when using cairo.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/back/trunk@37471 72102866-910b-0410-8b05-ffd578937521
2013-12-18 17:40:21 +00:00
fredkiefer
efe9c42c1c * Source/x11/XGDragView.m (-_xWindowAcceptingDnDDescendentOf:...):
Correct to work with kwin window decoration.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/back/trunk@37460 72102866-910b-0410-8b05-ffd578937521
2013-12-13 15:03:09 +00:00
fredkiefer
40fc6bfe72 * Tools/xpbs.m (-xProvideSelection:): Leave enough space for all
possible types.
* Source/x11/XGDragView.m: Simplify D&D window detection code.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/back/trunk@37457 72102866-910b-0410-8b05-ffd578937521
2013-12-13 12:58:09 +00:00
gcasa
e1817e8283 Minor correction to fix compilation error on Windows.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/back/trunk@37268 72102866-910b-0410-8b05-ffd578937521
2013-10-20 22:16:03 +00:00
fredkiefer
874e7b8307 * Headers/opal/OpalSurface.h
* Source/opal/OpalSurface.m: Make the -device method public.
        * Headers/opal/OpalContext.h: Remove method definitions.
        * Source/opal/OpalContext.m: Limit the accepted image types.



git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/back/trunk@37172 72102866-910b-0410-8b05-ffd578937521
2013-09-29 20:11:38 +00:00
fredkiefer
ff00051644 * Headers/opal/OpalSurface.h
* Source/opal/OpalSurface.m: Remove compiler warnings.
        * Source/opal/OpalContext.m: Move -flushGraphics method to here.
        * Source/opal/OpalGState.m: Simplify -DPSimage. Evaluate CGCTX
        only once per method.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/back/trunk@37170 72102866-910b-0410-8b05-ffd578937521
2013-09-29 17:10:26 +00:00
fredkiefer
926c068c95 Started cleanup of opal backend.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/back/trunk@37167 72102866-910b-0410-8b05-ffd578937521
2013-09-29 07:30:20 +00:00
ericwa
2c9d2ee692 * Source/opal/OpalGState.m: move variable declaration outside of for loop
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/back/trunk@37149 72102866-910b-0410-8b05-ffd578937521
2013-09-23 19:53:33 +00:00
ivucica
ae5fa7602b Compile fix
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/back/trunk@37148 72102866-910b-0410-8b05-ffd578937521
2013-09-23 19:51:59 +00:00
ivucica
9c56757852 Compile fix
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/back/trunk@37147 72102866-910b-0410-8b05-ffd578937521
2013-09-23 19:45:09 +00:00
ivucica
0f5e63ef57 OpalGState: Fixed a compile error (extra #endif). Added -DPSsetdash:::. Added stub -DPSsetstrokeadjust:.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/back/trunk@37146 72102866-910b-0410-8b05-ffd578937521
2013-09-23 18:57:10 +00:00
ivucica
d2d978a5bc Cutting down on junk code and unneeded output.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/back/trunk@37145 72102866-910b-0410-8b05-ffd578937521
2013-09-23 18:38:40 +00:00
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