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
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
* 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
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
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
(completing the previous commit)


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/back/trunk@37097 72102866-910b-0410-8b05-ffd578937521
* 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
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
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
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
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
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
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
Compile fix


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/back/trunk@37147 72102866-910b-0410-8b05-ffd578937521
Compile fix


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/back/trunk@37148 72102866-910b-0410-8b05-ffd578937521
* 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
Started cleanup of opal backend.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/back/trunk@37167 72102866-910b-0410-8b05-ffd578937521
        * 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
        * 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
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