1. 20 Jun, 2000 1 commit
    • Ben Avison's avatar
      Minor bugfix. · 5443a7f5
      Ben Avison authored
      Detail:
        On previous Wimps, if you chose to disassociate the Wimp's physical colour
        mapping from the Wimp palette (using SWI Wimp_SetColourMapping), then
        subsequent calls to Wimp_SetPalette would write over the physical colour
        mapping instead of the Wimp palette. *WimpPalette, conversely, had the
        correct behaviour (ie it only ever affected the Wimp palette).
      Admin:
        There are actually loads of remaining bugs in the Wimp regarding the
        subtle difference between the physical colour mapping and the palette. Some
        calls try to cause a screen redraw in some circumstances, generally the
        wrong circumstances, and without all the necessary internal Wimp variables
        having been reset (so for example, you might find that window borders end
        up ibeing rendered incorrectly). It probably hasn't all worked properly
        since RISC OS 3.1...
      
      Version 4.53. Tagged as 'Wimp-4_53'
      5443a7f5
  2. 15 Jun, 2000 1 commit
    • Ben Avison's avatar
      A number of bugfixes. · 45a23f3f
      Ben Avison authored
      Detail:
        * The character codes returned from the Key_Pressed event were incorrect
          when the caret was in a writeable icon with Kd in the validation string,
          and either (a) the caret was not at the start and Delete or Backspace were
          pressed, or (b) the caret was not at the end and Copy was pressed. (This
          was because, in these cases, the writeable icon code exited through
          passbacktouser rather than exitprocess; the former expects the keycode to
          be preserved, but the UTF-8 extensions to key handling were corrupting it.)
          Shift-Copy, Ctrl-Copy and Ctrl-U were not affected.
        * The various checkhandle routines now preserve flags again, as they did
          before 32-bit support was added. This is crucial in a number of spots,
          because the flags are based upon a test of handle, and checkhandle
          corrupts the handle register. This fixes at least two bugs: you can now
          send messages to menus or dialogue boxes again, and Wimp_RedrawWindow
          called without a Redraw_Window_Request is back (so for example, the
          Desktop Welcome screen now works again).
        * Fixed a bit of errant 26-bitism in the multiple-window iconise code.
      Admin:
        Tested briefly on an Ursula build.
      
      Version 4.52. Tagged as 'Wimp-4_52'
      45a23f3f
  3. 06 Jun, 2000 1 commit
    • Ben Avison's avatar
      Bugfix: screen mode is now always correctly set when exiting the desktop. · 2fe401b8
      Ben Avison authored
      Detail:
        When the last task closes, the Wimp tries to change to the configured screen
        mode (as determined using OS_ReadSysInfo 1). However, the Wimp was using
        VDU 22,x to set the screen mode, so results were undefined when the default
        screen mode was a pointer to a mode selector. The Wimp now uses OS_ScreenMode
        to change mode (except on RISC OS 3.1 builds where the SWI is not available).
      Admin:
        Not tested.
      
      Version 4.51. Tagged as 'Wimp-4_51'
      2fe401b8
  4. 15 May, 2000 1 commit
    • Stewart Brodie's avatar
      Removed conditional pull on Wimp_CloseDown task validation, · 9fe3d383
      Stewart Brodie authored
      Detail:
        Wimp 4.47-4.49 would die horribly if Wimp_CloseDown was passed an
          invalid task handle in R0 (the Repeat command in BootCommands does
          this!).  The pull is now unconditional.
      Admin:
        Tested in Ursula build.
      
      Version 4.50. Tagged as 'Wimp-4_50'
      9fe3d383
  5. 25 Apr, 2000 1 commit
    • Kevin Bracey's avatar
      Made 32-bit compatible. · 1bb3b9d0
      Kevin Bracey authored
      Detail:
        Lots of little changes throughout a lot of source.
      Admin:
        Appears to work - not stress tested with things like lots of tasks, big
        transfers, and all the other things that tend to go wrong.
      
      Version 4.47. Tagged as 'Wimp-4_47'
      1bb3b9d0
  6. 06 Apr, 2000 1 commit
  7. 30 Mar, 2000 1 commit
    • Ben Avison's avatar
      System windows (eg STB command window) can now have window furniture but no 1-pixel borders. · 3d310c07
      Ben Avison authored
      Detail:
        The code that checked for a Wimp_Initialise version number of >= 380 before
        applying the new interpretation of title foreground colour &FF was broken:
        it was checking the current task handle instead of the task handle of the
        window's creator. A few other things needed tampering with in order to ensure
        that the window's task handle word is correctly set up at the time that the
        colour check is performed.
      Admin:
        Tested in a desktop build, using STB resources.
      
      Version 4.43. Tagged as 'Wimp-4_43'
      3d310c07
  8. 29 Mar, 2000 1 commit
    • Ben Avison's avatar
      Various little changes. · 17fd99f3
      Ben Avison authored
      Detail:
        * New STB Sprites, Templates and Tools files imported, based upon the
          Lazarus UI rather than the old STB UI.
        * STB build now includes WIMPSymbol.
        * No longer attempts to use WIMPSymbol font in UTF8 builds which didn't
          register the font in ResourceFS.
        * Simplified Resources directories by assigning only a single pair of
          Messages files to each locale, rather than for each UI directory within
          each locale directory. The only code change required is to make the Wimp
          error box always use the "Continue" token for NC/STB builds, rather than
          using one of "OK" and "Continue", as with desktop builds.
      Admin:
        Not tested.
      
      Version 4.42. Tagged as 'Wimp-4_42'
      17fd99f3
  9. 22 Nov, 1999 1 commit
    • Ben Avison's avatar
      Rendering problems with Lazarus title bars and error box buttons fixed. · 72ca8dd8
      Ben Avison authored
      Detail:
        Title bars: one of the Ursula redraw optimisations was that if the title
        bar sprites had no mask, then the title bar is no longer filled in before the
        sprites are plotted. Lazarus' toolsprites were falling foul of this, because
        the title bar top and bottom sprites (tbarmidt/tbarmidb) had a lesser height
        than the end sprites (tbarlcap/tbarrcap). Because pre-Ursula Wimps filled
        in the title bar regardless, this may not have shown up in the past. The Wimp
        now has an additional check: if there is a gap between the title bar sprites,
        then it always fills in the title bar background before plotting the sprites.
      
        Error box buttons: the "illuminated" side of the 3D plinths have always been
        white, so they were getting lost against the white Lazarus UI background.
        Used Ursula Wimp icon colour validation string extension to colour the
        borders a uniform grey.
      
      Admin:
        Tested on a desktop machine, soft-loading the ...
      72ca8dd8
  10. 04 Aug, 1999 1 commit
    • Ben Avison's avatar
      Doing all of recalcmodevars on Service_ModeChanging turns out to be a Bad Idea... · f48cad69
      Ben Avison authored
      Doing all of recalcmodevars on Service_ModeChanging turns out to be a Bad Idea because some of the Wimp's copies of VDU variables end up out-of-date. Now only the parts pertaining to command windows are done on Service_ModeChanging
      
      (for that was the bit we were having trouble with), and the rest is back on
      Service_ModeChange.
      
      Version 4.24. Tagged as 'Wimp-4_24'
      f48cad69
  11. 03 Aug, 1999 1 commit
    • Ben Avison's avatar
      Now calls recalcmodevars on Service_ModeChanging instead of Service_ModeChange · 9a878980
      Ben Avison authored
      (this was clashing with the Interlace module at one point during STB
      development, and had the potential to trip us up again in the future).
      
      No longer produces build errors if some resources are absent.
      
      Corrected token in Japan messages file to use valid UTF-8 character.
      
      Service call table now included by default.
      
      Version 4.23. Tagged as 'Wimp-4_23'
      9a878980
  12. 29 Apr, 1999 1 commit
  13. 25 Mar, 1999 1 commit
  14. 09 Dec, 1998 1 commit
    • Ben Avison's avatar
      Bugfix: if a >=256-colour sprite icon is plotted, and then a shaded and/or... · b2c3268d
      Ben Avison authored
      Bugfix: if a >=256-colour sprite icon is plotted, and then a shaded and/or selected text-plus-sprite icon is plotted, where the sprite in the latter icon is unspecified (no validation string, or no 'S' command), then a SpriteOp call from within ColourTrans data aborts. This caused aborts when certain rectangles of the ImageFS options window were redrawn.
      
      Version 4.13. Not tagged
      b2c3268d
  15. 27 Nov, 1998 1 commit
    • Ben Avison's avatar
      Another bugfix to and a new feature of NC error box code: · 11eaef5f
      Ben Avison authored
      * If pointer was hidden-until-next-mouse-move, the act of confining the mouse
        to the error box window no longer causes it to be redisplayed.
      * In error boxes, the pointer and the IconHigh highlight are now initially
        positioned over the rightmost (default) button. There is one exception to
        this rule: when "Next task" is clicked in a Watchdog window, the pointer
        stays over the "Next task" button.
      
      Version 4.13. Tagged as 'Wimp-4_13'
      11eaef5f
  16. 26 Nov, 1998 1 commit
  17. 09 Nov, 1998 1 commit
    • Ben Avison's avatar
      Optimisation to new WimpSymbol substitution code: in icons containing fonts... · af05965b
      Ben Avison authored
      Optimisation to new WimpSymbol substitution code: in icons containing fonts other than the desktop font, the substitution table is only calculated when a symbol character is encountered.
      
      Embryonic cut-n-paste support introduced (currently in desktop builds only):
        * workspace is allocated and initialised;
        * extended Wimp_GetCaretPosition implemented;
        * pushfontstring adapted to allow insertion of arbitrary control sequences in
          font strings (to allow selected text to be plotted in inverted colours).
      Inverted, unfilled text icons now work properly again in <256-colour modes.
      Reworked NC error box code: see Doc.IconHigh.
      
      Version 4.11. Tagged as 'Wimp-4_11'
      af05965b
  18. 29 Oct, 1998 1 commit
    • Ben Avison's avatar
      my_StringBBox rewritten - effects are: · f33646b8
      Ben Avison authored
      * Deprecated Font SWIs no longer used
      * Height of UTF-8 strings now calculated correctly
      * Fancy fonts in icons are now aligned the same as outline desktop-font icons
      * Text rubout boxes for icons with text above the sprite are correctly sized
      
      Lazy WimpSymbol subsitution implemented: characters are only substituted if
      they are not already present in the font. For the first time, substitution
      now works in UTF-8 text - but for the proper Unicode positions of the
      relevant symbols, instead of usurping undefined positions (as in other
      alphabets).
      
      Version 4.10. Tagged as 'Wimp-4_10'
      f33646b8
  19. 23 Oct, 1998 1 commit
    • Ben Avison's avatar
      Adapted assembly process so that the choice of Options file (previously based... · 26369fa5
      Ben Avison authored
      Adapted assembly process so that the choice of Options file (previously based purely on the "System" variable) can be overridden by passing "OPTIONS=foo" as an argument to either MkRom, or to amu/amu_machine directly, or indirectly, by specifying it in the components file for a build. To accomplish this, it was necessary to switch from using aasm to objasm - hence the large number of source files affected in this commit.
      
      Version 4.09. Tagged as 'Wimp-4_09'
      26369fa5
  20. 22 Oct, 1998 1 commit
  21. 21 Oct, 1998 1 commit
    • Ben Avison's avatar
      Service_SwitchingOutputToSprite code optimised: graphics parameters are now... · 11711a72
      Ben Avison authored
      Service_SwitchingOutputToSprite code optimised: graphics parameters are now only cached when making the first Wimp_PlotIcon call while output is switched to a sprite, and upon return to screen output after such an occurrence.
      
      All error box templates featuring "border" icons updated to have button type
      0 (never). This prevents IconHigh from mistakenly allowing them to be selected.
      
      Version 4.07. Tagged as 'Wimp-4_07'
      11711a72
  22. 20 Oct, 1998 1 commit
    • Ben Avison's avatar
      UTF-8 support from previous version switched in; additional alphabet-... · 2c759475
      Ben Avison authored
      UTF-8 support from previous version switched in; additional alphabet- conditional support added as follows:
      
      * Correctly converts character index returned from Font_FindCaret into byte
        index into raw string.
      * Left-arrow, right-arrow, delete-left and delete-right now act as far as
        the next character boundary, instead of to the next byte.
      * Menu item text justification works again (it relies on overwriting spaces
        with hard space characters, which are two-byte characters in UTF-8).
      * General key handling code has been rewritten. The Wimp now has three
        internal key input buffers - one each for taking keyboard-generated,
        task-generated, and function-key-generated strings. Each input buffer is
        processed in chunks of one character, rather than one byte; malformed
        UTF-8 characters are rejected, so tasks don't have to worry about them
        (simplifying their character-handling code). There is also a key output
        buffer, to ensure that (UTF-8) sequences of Key_Pressed events are not
        broken up.
      * As a result of the above, multiple calls to Wimp_ProcessKey are now
        possible between calls to Wimp_Poll. Previously, this resulted in bytes
        getting jumbled up - making it useless for input of UTF-8 characters.
      * Multi-byte characters are inserted into writeable icons in one go, so you
        don't see a brief flicker of the "malformed character" symbol while the
        initial bytes are being inserted.
      * Multi-byte characters that don't entirely fit in a writeable icon buffer
        are not inserted at all.
      * A new validation string command ("U") can limit the contents of a
        writeable by number of characters, instead of bytes. This will hide the
        character sizes from the user interface.
      * Allowable characters (validation string command "A") now works on Unicode
        characters and character ranges.
      * Various other minor bugs are fixed (Wimp_ProcessKey 13 can activate a
        writeable menu item, Shift-arrow keys are always consistent in firing off
        Key_Pressed events, etc.)
      * Password icons supported: one symbol is displayed for each character
        (instead of for each byte); the display character (validation string
        command "D") can be any UTF-8 character; correctly displays the caret
        after set-caret-by-index calls, even though characters in the processed
        string are different width to those in the raw string, in password icons.
      
      Other changes:
      * The border around NC-style error boxes is resized when the error window
        is grown or shrunk.
      * Messages, CmdHelp and Template files made consistent across resource
        directories, including support for all Ursula features.
      * ShrinkableAreas turned back on in System=RCA builds.
      * User interface features of desktop OS builds standardised.
      
      Version 4.06. Tagged as 'Wimp-4_06'
      2c759475
  23. 07 Oct, 1998 1 commit
  24. 30 Sep, 1998 2 commits
  25. 18 Sep, 1998 1 commit
  26. 20 Jun, 1997 1 commit
  27. 16 May, 1997 1 commit
  28. 07 May, 1997 2 commits
  29. 01 May, 1997 1 commit
  30. 31 Jan, 1997 1 commit
  31. 30 Jan, 1997 1 commit
  32. 21 Jan, 1997 1 commit
  33. 13 Jan, 1997 2 commits
  34. 05 Nov, 1996 2 commits