| Hi, This question does concern an old (try of ) implementation of ATS server ( native Mac OS X font server). For native font server implementation in Mac OS X, Herbert Duerr ( see http://wiki.services.openoffice.org/wiki/Fonts_starting_point_and_documentation ) adviced me to use an old implementation of ATSUI server. The initial file can be found on issue #i23183# ( http://www.openoffice.org/issues/show_bug.cgi?id=23283 ) , and after some effort, I think I have understood the logical behind all this code. Asap, I'll probably try to use a mix between Windows and Unix implementation and test ... (keyboard events /management has to be completed before to really test). Of course, if ever I can build with my changes :-) The current modification I did are some types modified like (copy paste from my version ), some obsolete names modified ... etc. e.g. (list not complete) : FillDXArray modified -> long* replaced with sal_Int32* // GetNextGlyphs has been modified // virtual int GetNextGlyphs( int nLen, long* pGlyphs, Point& rPos, int&, // long* pGlyphAdvances, int* pCharIndexes ) const; // new implementation of GetNextGlyphs // new parameters salInt32* replaces long* and pGlyphIdxAry replaces pGlyphs ...etc (a lot of other changes useless for my question). The main problem I have is for ATSLayout constructor. ATSLayout simple inherits of SalLayout and does have a lot of similar methods, adapted to Apple API (using ATSUI functions). My problem is probably easy to solve, but after some days I found nothing interesting, and prefer ask : how initialize ATSLayout object ? Currently, it's question of : ATSLayout( SalGraphicsData *pGraphicsData ) , but I found nothing in vcl I can directly use there as " SalGraphicsData ". Does anyone have an idea of what exactly represents SalGraphicsData ? Probably a structure or a class .. but what exactly ? Waiting, if I follow current unx implementation, I could use : class ATSLayout : public SalLayout { protected: int mnMinCharPos; int mnEndCharPos; int mnLayoutFlags; int mnUnitsPerPixel; int mnOrientation; mutable int mnRefCount; mutable Point maDrawOffset; ... etc, like e.g. in sallayout.cxx, but a lot has to be modified in all ATSLayout methods, and I wonder if it does make sense to modify everything this way. Thank's in advance for any help :-) Regards, Eric Bachard P.S. : for the curious, I have started a sort of documentation about vcl organisation on the wiki, and any help is welcome to fix mistakes, complete, add colors and informations ;-) |
- [gsl-dev] [Mac OS X] salatslayout implementation : pb with ... eric b
