riched20: Implement alignment styles.

Huw Davies huw at codeweavers.com
Thu Nov 5 02:55:40 CST 2015


On Wed, Nov 04, 2015 at 06:12:29PM +0800, Jactry Zeng wrote:
> -ME_TextEditor *ME_MakeEditor(ITextHost *texthost, BOOL bEmulateVersion10)
> +ME_TextEditor *ME_MakeEditor(ITextHost *texthost, BOOL bEmulateVersion10, DWORD align)
>  {
>    ME_TextEditor *ed = ALLOC_OBJ(ME_TextEditor);
>    int i;
> @@ -2804,6 +2804,7 @@ ME_TextEditor *ME_MakeEditor(ITextHost *texthost, BOOL bEmulateVersion10)
>    ed->reOle = NULL;
>    ed->bEmulateVersion10 = bEmulateVersion10;
>    ed->styleFlags = 0;
> +  ed->alignStyle = align;
>    ITextHost_TxGetPropertyBits(texthost,
>                                (TXTBIT_RICHTEXT|TXTBIT_MULTILINE|
>                                 TXTBIT_READONLY|TXTBIT_USEPASSWORD|

Rather than add a new param to MakeEditor just explicitly set
ed->alignStyle after the call in CreateTextHost.

> diff --git a/dlls/riched20/para.c b/dlls/riched20/para.c
> index 8cf3d24..88b821f 100644
> --- a/dlls/riched20/para.c
> +++ b/dlls/riched20/para.c
> @@ -30,7 +30,7 @@ void ME_MakeFirstParagraph(ME_TextEditor *editor)
>    LOGFONTW lf;
>    HFONT hf;
>    ME_TextBuffer *text = editor->pBuffer;
> -  ME_DisplayItem *para = ME_MakeDI(diParagraph);
> +  ME_DisplayItem *para = ME_MakeDI(editor, diParagraph);
>    ME_DisplayItem *run;
>    ME_Style *style;
>    int eol_len;

I think we need a make_para( ME_TextEditor *editor ).
It would call ME_MakeDI (no need for that to get editor)
and then do the special case stuff for paragraphs.

Huw.



More information about the wine-devel mailing list