Menu

#1103 Accessability bugs in component checkboxes

2.0 Series
open
nobody
1
2014-09-24
2014-09-23
No

We have the following pair of bugs for which either one alone there is an obvious workaround but each workaround breaks the other.

Default UI used.

The state checkboxes are drawn black on windows-background, with the obvious problem of windows-background might be black. Workaround: use bitmap checkboxes.

The bitmap checkboxes are drawn as-is and not upscaled with DPI. Workaround: use state checkboxes.

Look, I'm not joking about Priority 1.

I'm really considering downloading the source code, locating the piece of code that does BitBlit to draw the image checkboxes, sticking the canned DPI upscaling code there, and recompiling the whole thing, but I think that might cause problems with the LZMA license or something.

Related

Bugs: #1103

Discussion

  • Joshua Hudson

    Joshua Hudson - 2014-09-23

    Well I found the changepoint no problem, but I can't build. Weird.

    link /nologo /opt:nowin98 /map /entry:DllMain /NODEFAULTLIB /dll /out:build\rele
    ase\AdvSplash\AdvSplash.dll /LIBPATH:build\release\api\nsis pluginapi.lib kernel
    32.lib user32.lib gdi32.lib winmm.lib build\release\AdvSplash\advsplash.obj buil
    d\release\AdvSplash\SHLIBEMITTER.obj
    LINK : fatal error LNK1117: syntax error in option 'opt:nowin98'
    scons: *** [build\release\AdvSplash\AdvSplash.dll] Error 1117
    scons: building terminated because of errors.

    C:\temp\nsis-2.46-src>link /nologo /opt:nowin98 /map /entry:DllMain /NODEFAULTLI
    B /dll /out:build\release\AdvSplash\AdvSplash.dll /LIBPATH:build\release\api\nsi
    s pluginapi.lib kernel32.lib user32.lib gdi32.lib winmm.lib build\release\AdvSpl
    ash\advsplash.obj build\release\AdvSplash\SHLIBEMITTER.obj
    Creating library build\release\AdvSplash\AdvSplash.lib and object build\relea
    se\AdvSplash\AdvSplash.exp

    C:\temp\nsis-2.46-src>

    On 9/23/14, Joshua Hudson un214@users.sf.net wrote:


    [bugs:#1103] Accessability bugs in component checkboxes

    Status: open
    Group: 2.0 Series
    Labels: accessability
    Created: Tue Sep 23, 2014 08:10 PM UTC by Joshua Hudson
    Last Updated: Tue Sep 23, 2014 08:10 PM UTC
    Owner: nobody

    We have the following pair of bugs for which either one alone there is an
    obvious workaround but each workaround breaks the other.

    Default UI used.

    The state checkboxes are drawn black on windows-background, with the obvious
    problem of windows-background might be black. Workaround: use bitmap
    checkboxes.

    The bitmap checkboxes are drawn as-is and not upscaled with DPI. Workaround:
    use state checkboxes.

    Look, I'm not joking about Priority 1.

    I'm really considering downloading the source code, locating the piece of
    code that does BitBlit to draw the image checkboxes, sticking the canned DPI
    upscaling code there, and recompiling the whole thing, but I think that
    might cause problems with the LZMA license or something.


    Sent from sourceforge.net because you indicated interest in
    https://sourceforge.net/p/nsis/bugs/1103/

    To unsubscribe from further messages, please visit
    https://sourceforge.net/auth/subscriptions/

     

    Related

    Bugs: #1103

    • Anders

      Anders - 2014-09-24

      Telling us your VS version and showing us how you are calling scons always helps. Try adding MSVS_VERSION=...

       
  • Anders

    Anders - 2014-09-24

    I tried to make a plugin that uses native images at some point but I don't remember what stopped me from completing it.

    You basically have replace the ListView imagelist with one you create at run-time. You'll need at least two code-paths; uxtheme vs classic.

     
    • Joshua Hudson

      Joshua Hudson - 2014-09-24

      scons Invocation:

      C:\temp\nsis-2.46-src>c:\python27\scripts\scons
      ZLIB_W32=c:\devdep\zlib-1.2.7 WXWIN=c:\devdep\wxWidgets-2.8.12

      MSYS is not available. VS Version should be 2005 but it's possible
      it's picking up a different version.

      On 9/24/14, Anders anders_k@users.sf.net wrote:

      I tried to make a plugin that uses native images at some point but I don't
      remember what stopped me from completing it.

      You basically have replace the ListView imagelist with one you create at
      run-time. You'll need at least two code-paths; uxtheme vs classic.


      [bugs:#1103] Accessability bugs in component checkboxes

      Status: open
      Group: 2.0 Series
      Labels: accessability
      Created: Tue Sep 23, 2014 08:10 PM UTC by Joshua Hudson
      Last Updated: Tue Sep 23, 2014 08:10 PM UTC
      Owner: nobody

      We have the following pair of bugs for which either one alone there is an
      obvious workaround but each workaround breaks the other.

      Default UI used.

      The state checkboxes are drawn black on windows-background, with the obvious
      problem of windows-background might be black. Workaround: use bitmap
      checkboxes.

      The bitmap checkboxes are drawn as-is and not upscaled with DPI. Workaround:
      use state checkboxes.

      Look, I'm not joking about Priority 1.

      I'm really considering downloading the source code, locating the piece of
      code that does BitBlit to draw the image checkboxes, sticking the canned DPI
      upscaling code there, and recompiling the whole thing, but I think that
      might cause problems with the LZMA license or something.


      Sent from sourceforge.net because you indicated interest in
      https://sourceforge.net/p/nsis/bugs/1103/

      To unsubscribe from further messages, please visit
      https://sourceforge.net/auth/subscriptions/

       

      Related

      Bugs: #1103

      • Joshua Hudson

        Joshua Hudson - 2014-09-24

        I managed to figure out what the bleep is going on with the build.
        scons is being dumb and probing for the VS install rather than using
        the tools copy in the PATH, and picking up a broken linker from
        another VS install that can't build C or C++.

         
        • Joshua Hudson

          Joshua Hudson - 2014-09-24

          This is really starting to get on my nerves. It appears to me this
          code should work; however it does not. If I copy part of the changed
          bitmap back into the original bitmap (and don't swap pointers) I see
          the changed region appearing; however if I apply the changed bitmap
          all I get is black. Same if I try calling the CopyImage function
          rather than doing it myself.

           
          • Joshua Hudson

            Joshua Hudson - 2014-09-24

            I tried a different track. LoadImage can scale; however this ends up
            wit magenta fringes. If we don't care, this works. Obviously you can't
            commit this one for general use.

             
            • Joshua Hudson

              Joshua Hudson - 2014-11-17

              Coming back to this, I managed to make a further patch that gets rid of purple fringes.

               

Log in to post a comment.