1. 12 Sep, 2020 1 commit
    • Robert Sprowson's avatar
      Add minimalist Wimp_ReadSysInfo 21 implementation · 56afccc6
      Robert Sprowson authored
      Since our text selection model follows the Style Guide and there's no means to configure it to the contrary, this subreason can just return fixed values to allow applications to query the state compared with running on a non-Cut-n-Paste Wimp.
      56afccc6
  2. 04 Jan, 2020 1 commit
    • Jeffrey Lee's avatar
      Add Wimp_Extend 15, "read slot size" · 4610877c
      Jeffrey Lee authored
      Wimp_Extend 15 is equivalent to Wimp_SlotSize,-1,-1, with the exception
      that the sizes returned in R0-R2 are now measured in pages instead of
      bytes. This allows code to accurately read the amount of free memory on
      machines with >2GB of RAM, and provides some future-proofing should we
      ever wish to support tasks with >2GB of RAM (e.g. via a future
      super-jumbo wimpslot, or more likely via sparse/PMP wimpslots, where
      the physical size is larger than the logical size).
      
      Currently there's no need to provide a page-based call to set the slot
      size (~2GB is fine for the forseeable future), so this call only
      focuses on reading the sizes.
      
      Version 5.67. Tagged as 'Wimp-5_67'
      4610877c
  3. 22 Jun, 2019 1 commit
    • ROOL's avatar
      New Wimp_Extend subreason · 32f2e389
      ROOL authored
      Detail:
        Subreason 14 gives a means to read the validation string from a window/icon that is not in the current task. This is useful for determining whether clipboard operations should be allowed.
      Admin:
        Submission for Clipboard Support bounty.
      
      Version 5.64. Tagged as 'Wimp-5_64'
      32f2e389
  4. 24 Sep, 2014 1 commit
    • Ben Avison's avatar
      Fix to warning · 03ef557b
      Ben Avison authored
      Detail:
        Previous test for include order of Hdr:Services and Hdr:Wimp was broken.
        See HdrSrc 2.46 for the other half of this fix.
      
      
      Version 5.46. Tagged as 'Wimp-5_46'
      03ef557b
  5. 06 Jan, 2014 1 commit
    • Ben Avison's avatar
      Fix detection of Hdr:Wimp being included before Hdr:Services · 40176aa7
      Ben Avison authored
      Detail:
        The trick used only works with variable name symbols; other symbols remain
        defined after the end of the first pass of assembly
      Admin:
        Should enable us to track down components that will need changing from
        examination of the build logs
      40176aa7
  6. 01 Jan, 2014 1 commit
    • Jeffrey Lee's avatar
      Change Wimp_ReadSysInfo 2 to not return alpha sprite names. Add... · 8913591b
      Jeffrey Lee authored
      Change Wimp_ReadSysInfo 2 to not return alpha sprite names. Add Wimp_ReadSysInfo 29 and Wimp_Extend 257.
      
      Detail:
        s/Wimp01 - Change romspr_suffix initialisation so that it won't store alpha sprite suffixes. This has the knock-on effect of making Wimp_ReadSysInfo 2 no longer return alpha sprite suffixes, without affecting any of the sprite search code
        hdr/Wimp, s/Wimp01 - Add Wimp_ReadSysInfo 29 to read the alphaspriteflag value - i.e. whether alpha sprites are supported by the OS/Wimp and *IconSprites, Wimp_Extend 13, etc. will look for them
        hdr/Wimp - Document the private Wimp_Extend reason codes and add a couple of ROL's reason codes
        s/NewSWIs - Tidy up Wimp_Extend implementation to use a jump table instead of a load of tests and branches. Add an implementation of ROL's Wimp_Extend 257, which just acts as a wrapper around Wimp_Extend 13
      Admin:
        Tested on Raspberry Pi
        Wimp_ReadSysInfo 2 change should fix issue reported on forums with software unexpectedly using low-res sprites or failing altogether:
        http://www.riscosopen.org/forum/forums/4/topics/2274
      
      
      Version 5.35. Tagged as 'Wimp-5_35'
      8913591b
  7. 08 Sep, 2013 1 commit
    • Robert Sprowson's avatar
      3 minor fixes, 2 minor enhancements · a9c3b548
      Robert Sprowson authored
      Makefile:
      * Conditionally copy the disc resources, saving a little build time.
      Wimp10.s; hdr/Wimp:
      * Issue Service_WimpToolSpritesChanged when the tool sprite area is changed.
      Wimp05:
      * Fix bug in softloaded versions of the Wimp where menus would randomly lose the keyboard shortcut text. This was caused by use of an LDR to retrieve a byte wide variable. This specifically affected some softloads because the Wimp gets squeezed, and during unsqueezing the Wimp's workspace ends up being allocated from the same bit of RMA that used to contain the squeezed copy of the module (=lots of random numbers).
      Wimp09:
      * Fix bug where configuring WimpSpritePrecedence to ROM when a theme is loaded would cause redrawing of window textures to fail. This is because the Wimp intersects the ROM and RAM sprite areas and deletes any duplicates from the RAM area when remaking the fast lookup sprite list. So if the RAM sprites include the "tile_1" (etc) sprite on redrawing the desktop the Wimp points to this, then intersects the lists and deletes the sprite, leaving the pointers pointing at junk. Now, on deleting something, the window tile pointers are invalidated. Fixes ticket #346.
      Wimp02:
      * Fix bug where the title bar text, when the desktop font is the system font, is incorrectly rendered in the colour selected by WimpVisualFlag -WindowOutlineColour. The Wimp now restores the text colour if -WOC has set the graphics colour to something other than black.
      
      Administrative -
      In Wimp01, swap a couple of SpriteReasons from magic numbers. In the init of variables use the common reset_all_tiling_sprite function.
      In Tiling3D, more SpriteReasons, and rationalise the registers used in reset_all_tiling_sprites.
      
      Version 5.32. Tagged as 'Wimp-5_32'
      a9c3b548
  8. 11 May, 2013 1 commit
  9. 03 May, 2013 1 commit
    • Robert Sprowson's avatar
      Slacken pointer checks · 42e284a3
      Robert Sprowson authored
      The pointer comparison checking required when running in a system with > 64M memory was tightened up from Wimp-4_75 to Wimp-4_76, but to allow the module to target pre RISC OS 5 systems an option to relax those checks is required.
      Each check has been revisited and where appropriate demarked with a "AcceptLoosePointer" macro, which just remaps the pointer into the stricter form and carries on. In the strict checking case, the macro reduces to nothing.
      
      Detail:
      Add AcceptLoosePointers switch.
      Retire singular use of StrongARM switch (calling XOS_SynchroniseCodeAreas is harmless pre StrongARM anyway).
      Rename Ursula_RPC options to RO400.
      Put duplicate documentation in the attic.
      Allow -2 or -1 as the iconbar handle in Wimp_ResizeIcon (ticket #203).
      Tighten up the list terminator check in the DebugMemory switch of Memory.s
      
      Tested on RISC OS 3.10 (emulated), 3.50, 3.60, 3.70, 4.02.
      
      Version 5.24. Tagged as 'Wimp-5_24'
      42e284a3
  10. 23 Jan, 2012 1 commit
    • Robert Sprowson's avatar
      Add extra Wimp_ReadSysInfo reasons 23/24/25/26/28. · 23680e24
      Robert Sprowson authored
      RISC OS Select has added reasons 18-27 and this change implements those that map directly to features that already exist (unimplemented ones return an error as before).
      One additional reason, 28, permits the reading of the flags collected from the *WimpVisualFlags command so that applications can discover if the cheesy 3D borders are on or not.
      
      Version 5.14. Tagged as 'Wimp-5_14'
      23680e24
  11. 03 Dec, 2003 1 commit
  12. 20 Oct, 1998 1 commit
    • Ben Avison's avatar
      UTF-8 support from previous version switched in; additional alphabet-... · e6cf688e
      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'
      e6cf688e
  13. 30 Sep, 1998 1 commit
    • Kevin Bracey's avatar
      Spinner branch merged. · 818104e1
      Kevin Bracey authored
      Changed to use srccommit.
      All conditionals on "Version" removed.
      
      Version 4.01. Tagged as 'Wimp-4_01'
      818104e1
  14. 18 Sep, 1998 1 commit
  15. 07 May, 1997 1 commit
  16. 05 Nov, 1996 1 commit