Loading ...
Sorry, an error occurred while loading the content.

Re: modeless-selection distorts all characters in gVim

Expand Messages
  • Yukihiro Nakadaira
    It seems that the current invert drawing method (dst = fg XOR bg XOR dst) is not good for anti-aliased font. I think that using GDK_INVERT is good for it.
    Message 1 of 19 , May 5 12:27 AM
    • 0 Attachment
      It seems that the current invert drawing method (dst = fg XOR bg XOR dst)
      is not good for anti-aliased font.  I think that using GDK_INVERT is
      good for it.

      diff -r 9e3cdd762964 src/gui_gtk_x11.c
      --- a/src/gui_gtk_x11.c    Sat May 04 04:40:15 2013 +0200
      +++ b/src/gui_gtk_x11.c    Sun May 05 16:23:33 2013 +0900
      @@ -5271,13 +5271,9 @@
           if (gui.drawarea->window == NULL)
           return;
       
      -    values.foreground.pixel = gui.norm_pixel ^ gui.back_pixel;
      -    values.background.pixel = gui.norm_pixel ^ gui.back_pixel;
      -    values.function = GDK_XOR;
      +    values.function = GDK_INVERT;
           invert_gc = gdk_gc_new_with_values(gui.drawarea->window,
                              &values,
      -                       GDK_GC_FOREGROUND |
      -                       GDK_GC_BACKGROUND |
                              GDK_GC_FUNCTION);
           gdk_gc_set_exposures(invert_gc, gui.visibility !=
                                  GDK_VISIBILITY_UNOBSCURED);



      --
      Yukihiro Nakadaira - yukihiro.nakadaira@...

      --
      --
      You received this message from the "vim_dev" maillist.
      Do not top-post! Type your reply below the text you are replying to.
      For more information, visit http://www.vim.org/maillist.php
       
      ---
      You received this message because you are subscribed to the Google Groups "vim_dev" group.
      To unsubscribe from this group and stop receiving emails from it, send an email to vim_dev+unsubscribe@....
      For more options, visit https://groups.google.com/groups/opt_out.
       
       
    • Bram Moolenaar
      ... Thanks for making a patch. Can some users try this out and give feedback? -- A cow comes flying over the battlements, lowing aggressively. The cow lands
      Message 2 of 19 , May 5 2:31 PM
      • 0 Attachment
        Yukihiro Nakadaira wrote:

        > It seems that the current invert drawing method (dst = fg XOR bg XOR dst)
        > is not good for anti-aliased font. I think that using GDK_INVERT is
        > good for it.
        >
        > diff -r 9e3cdd762964 src/gui_gtk_x11.c
        > --- a/src/gui_gtk_x11.c Sat May 04 04:40:15 2013 +0200
        > +++ b/src/gui_gtk_x11.c Sun May 05 16:23:33 2013 +0900
        > @@ -5271,13 +5271,9 @@
        > if (gui.drawarea->window == NULL)
        > return;
        >
        > - values.foreground.pixel = gui.norm_pixel ^ gui.back_pixel;
        > - values.background.pixel = gui.norm_pixel ^ gui.back_pixel;
        > - values.function = GDK_XOR;
        > + values.function = GDK_INVERT;
        > invert_gc = gdk_gc_new_with_values(gui.drawarea->window,
        > &values,
        > - GDK_GC_FOREGROUND |
        > - GDK_GC_BACKGROUND |
        > GDK_GC_FUNCTION);
        > gdk_gc_set_exposures(invert_gc, gui.visibility !=
        > GDK_VISIBILITY_UNOBSCURED);
        >

        Thanks for making a patch.

        Can some users try this out and give feedback?

        --
        A cow comes flying over the battlements, lowing aggressively. The cow
        lands on GALAHAD'S PAGE, squashing him completely.
        "Monty Python and the Holy Grail" PYTHON (MONTY) PICTURES LTD

        /// Bram Moolenaar -- Bram@... -- http://www.Moolenaar.net \\\
        /// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
        \\\ an exciting new programming language -- http://www.Zimbu.org ///
        \\\ help me help AIDS victims -- http://ICCF-Holland.org ///

        --
        --
        You received this message from the "vim_dev" maillist.
        Do not top-post! Type your reply below the text you are replying to.
        For more information, visit http://www.vim.org/maillist.php

        ---
        You received this message because you are subscribed to the Google Groups "vim_dev" group.
        To unsubscribe from this group and stop receiving emails from it, send an email to vim_dev+unsubscribe@....
        For more options, visit https://groups.google.com/groups/opt_out.
      • Ben Fritz
        ... I finally got a chance to try applying the patch and it seems to work as advertised. I have no idea whether it has unintended side effects. I ll run with
        Message 3 of 19 , May 19 10:11 PM
        • 0 Attachment
          On Sunday, May 5, 2013 4:31:03 PM UTC-5, Bram Moolenaar wrote:
          > Yukihiro Nakadaira wrote:
          >
          > > It seems that the current invert drawing method (dst = fg XOR bg XOR dst)
          > > is not good for anti-aliased font. I think that using GDK_INVERT is
          > > good for it.
          > >
          > > diff -r 9e3cdd762964 src/gui_gtk_x11.c
          > > --- a/src/gui_gtk_x11.c Sat May 04 04:40:15 2013 +0200
          > > +++ b/src/gui_gtk_x11.c Sun May 05 16:23:33 2013 +0900
          > > @@ -5271,13 +5271,9 @@
          > > if (gui.drawarea->window == NULL)
          > > return;
          > >
          > > - values.foreground.pixel = gui.norm_pixel ^ gui.back_pixel;
          > > - values.background.pixel = gui.norm_pixel ^ gui.back_pixel;
          > > - values.function = GDK_XOR;
          > > + values.function = GDK_INVERT;
          > > invert_gc = gdk_gc_new_with_values(gui.drawarea->window,
          > > &values,
          > > - GDK_GC_FOREGROUND |
          > > - GDK_GC_BACKGROUND |
          > > GDK_GC_FUNCTION);
          > > gdk_gc_set_exposures(invert_gc, gui.visibility !=
          > > GDK_VISIBILITY_UNOBSCURED);
          > >
          >
          > Thanks for making a patch.
          >
          > Can some users try this out and give feedback?
          >

          I finally got a chance to try applying the patch and it seems to work as advertised. I have no idea whether it has unintended side effects. I'll run with it for a while to see if I notice any. But I don't usually use modeless selection for anything so I doubt I'd see anything in my normal use.

          --
          --
          You received this message from the "vim_dev" maillist.
          Do not top-post! Type your reply below the text you are replying to.
          For more information, visit http://www.vim.org/maillist.php

          ---
          You received this message because you are subscribed to the Google Groups "vim_dev" group.
          To unsubscribe from this group and stop receiving emails from it, send an email to vim_dev+unsubscribe@....
          For more options, visit https://groups.google.com/groups/opt_out.
        Your message has been successfully submitted and would be delivered to recipients shortly.