On Mon, Jun 1, 2009 at 11:23 PM, Stephan Rose <[email protected]> wrote: > On Mon, 2009-06-01 at 13:03 -0400, Stephan Rose wrote: >> >I don't know why gdiplus does its own linebreaks. I haven't really >> >done any work in that area. >> > >> >If I had to guess, I'd say it's because StringFormatFlagsNoWrap has no >> >equivalent flag for DrawText. That probably means you can't pass it >> >off to DrawText. >> > >> >Since they'll probably have to be done differently, it's best to >> >implement one direction at a time. When you're happy with horizontal >> >alignment, you can send a patch for that regardless of the status of >> >vertical alignment. >> > >> >You should be able to use GdipMeasureString to get the size of the >> >text. In fact, the alignments will need to be implemented there too, >> >and it may be better to start there. >> >> Hmm the only way I can see alignments having any influence on MeasureString >> would be if the boundingBox of the text is to be aligned to the layoutRect >> based on the alignment flags. Should just be able to then take the >> calculated bounding rect and align that to the layout based on the flags. >> >> And you're right, if I use MeasureString I solve my issue where I don't know >> the height of the text ahead of time. Perfect.] > > > My initial implementation for the string alignment stuff seems to be > working. Haven't done anything inside MeasureString yet (that'll be next > though). > > Here's a screenshot comparing the windows version from the bug report > against my implementation. > > http://www.somrek.net/stringformat.png > > Now how do I go about creating the patch and trying to get this > committed? =)
http://wiki.winehq.org/SubmittingPatches -- -Austin
