Hi Fang, I looked at your changes and here are my suggestions
in Writer::Impl_writePolyPolygon you use the method parameter rPolyPoly. You should not do it as it is not clipped. You should only use aPolyPoly as it contains the already clipped polygon. Else you loose the clipping. The following code in Impl_writePolyPolygon seems to be wrong by using both aPolyPoly and aPolyPolgon which was created with unclipped rPolyPoly. This needs a rework. Also I would love to see that the minimum point is stored inside the maShapeIds. The usage of the maIdMinPointMap here seems overly complex. It would be much simpier to store the minimum point inside the sequential maShapeIds vector. The changes to Writer::Impl_WriteText look good, but please remove the now unused "PolyPolygon PolyPoygon". In swfwriter2.cxx please remove the second implementation of the FillStyle::operator== that you committed as a comment. In swfwriter.hxx please remove the "using namespace" lines. The using clause is not to be used in headers. In this special case it is not a big problem but it may later lead to confusions. So please never ever put a using clause inside a header file. Please also study http://en.wikipedia.org/wiki/Hungarian_notation to find out why "maMinPoint" is a bad name for a local variable. Also the new Writer::placeshape( ..., B2DPoint nB2DPoint, .... ) does not fit into that naming scheme. It is also a nice thing to use constant references for method parameters that are bigger than a pointer. Now the changes in Writer::defineShape look a bit weird to me. First of all, each stl container has a "bool empty()" method which is a tad faster than "if( container.begin() != container.end() )" A little performance tip, if it would be meaningful to erase the duplicate shape id's, you could have used the iterator returned from "unique" as the new end iterator in the following while loop. Since maShapeIds is cleared at the end of the method anyway, it would be a waste of performance to physically delete the duplicate entries first. But as said for the Impl_writePolyPolygon, I would put the minimum point information inside the maShapeIds vector so the code will become much simpler. Please note that the file "tools/inc/poly.hxx" was moved on the master cvs to "tools/inc/tools/poly.hxx". So before the cws can be integrated, it must be resynched and the changes made to "tools/inc/poly.hxx" must be manually transfered to "tools/inc/tools/poly.hxx". Regards, Christian Fang Yaqiong wrote: > Hi Christian, > I have created the cws,its ID is 5598, name is "flashexport01", milestone is > "m205". > I submit a issue about it, it is issue 80199 > I add two modules on this cws, they are "filter" and "tools" > The files I have modified are: > filter/source/flash/swfwrite.hxx add class PolyPolygonCacheKey > filter/source/flash/swfwrite.cxx add class PolyPolygonCacheKey > filter/source/flash/swfwrite1.cxx add a cache for complex charactors > filter/source/flash/swfwrite2.cxx add operator == for class FillStyle > tools/inc/poly.hxx add operator < for class PolyPolygon > tools/source/generic/poly2.cxx add operator < for class PolyPolygon > > Looking forward to your suggestions. > > Sincerely, > Fang > > > > > > Fang Yaqiong > 2007-08-02 --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
