- 12 May, 2013 1 commit
-
-
Robert Sprowson authored
Retagged as Wimp-5_27.
-
- 11 May, 2013 1 commit
-
-
Robert Sprowson authored
Substitute magic numbers through the code. Squash some UAL warnings from missing #'s in Wimp10.s Version 5.27. Tagged as 'Wimp-5_27'
-
- 03 May, 2013 1 commit
-
-
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'
-
- 14 Mar, 2010 1 commit
-
-
Jeffrey Lee authored
Detail: s/Wimp05 (setcaretcoords_fancy), s/Wimp07 - Fix some dodgy comments that had trailing backslashes, causing the next line of code to be gobbled by objasm and omitted from the compiled code. The code in question has been around for a long time, so I guess a recent objasm change (or the switch from aasm) has caused the dodgy comments to turn malicious. The setcaretcoords_fancy bug was the cause of bug #241 in the ROOL tracker. s/Wimp05 (int_set_caret_position) - While testing the #241 fix, I found that opening the filer 'rename' menu, typing text (enough to cause the icon to scroll), and then clicking away to close the menu would cause an infinite abort loop. The cause seemed to be int_set_caret_position mistakenly setting the caret window ptr to 0 instead of nullptr (-1), which would then cause setwindowptrs to die when it tried dereferencing what it thought was a valid pointer. Although initially confused about how this bug has gone unnoticed so far, I've now realised the abort was just down to alignment exceptions being turned on and the code would have "worked" on <=ARMv5. Admin: Tested on rev C2 beagleboard. Fixes bug #241. Version 5.08. Tagged as 'Wimp-5_08'
-
- 05 Jul, 2004 1 commit
-
-
Ben Avison authored
* New options file for STB * Changed some ADRs to ADRLs so that they reach for the options combination for STB Version 4.92. Tagged as 'Wimp-4_92'
-
- 31 Mar, 2003 1 commit
-
-
Ben Avison authored
Fixed an errant top-bit-set pointer problem with submenu pointers. Removed startup sprites from Wimp sprite pool - now live in Desktop module. Version 4.90. Tagged as 'Wimp-4_90'
-
- 24 Jan, 2003 1 commit
-
-
Ben Avison authored
Added automatic translation of spaces to hard spaces in writeable icons that forbid the former but allow the latter. This effectively allows spaces in filenames. Version 4.87. Tagged as 'Wimp-4_87'
-
- 17 Jan, 2003 1 commit
-
-
Ben Avison authored
Detail: * Adjust clicking on menu items was leading to Message_MenusDeleted being broadcast, resulting in incorrect behaviour in many applications. * Sprite-only menu items (eg !Draw's line pattern submenu) now highlight correctly when tiled menus are configured. * Added Wimp_Extend 13, which works out the appropriate resolution suffix for a given sprite pathname - required since Sprites11 support needs an iterative approach. This supercedes Wimp_ReadSysInfo 2. * *IconSprites now tries prefixing the last element of its path argument with "<Wimp$IconTheme>". Admin: Tested on Tungsten. Version 4.85. Tagged as 'Wimp-4_85'
-
- 05 Dec, 2002 1 commit
-
-
Ben Avison authored
A few bugfixes, and some muching around with WimpVisualFlags that I did ages ago but hasn't made it into a build yet. Detail: * Deleting icon 0 in a window that had no windows would rotate the contents of word &00000010 by 16 bits. This had the effect of causing lazy task swapping to blow up with an "undefined instruction" error. * Setting the caret to a byte position beyond the end of an icon's text would (a) loop indefinitely if the alphabet is UTF-8, or (b) data abort for any other alphabet. This was due to the code trying to determine the number of characters in the string, and ignoring the terminator; skipcharR would never advance far enough to satisfy the loop in UTF-8, in other alphabets it would advance as far as necessary, leading to the later code to try to step a huge number of characters through the pushfontstring copy of the text, running off the top of the SVC stack (which is mapped out on Tungsten, previously it abutted the system heap, so no ill effects were observed). * Keyboard shortcuts are now correctly positoned when 3D menus are selected. * Corrected spelling of "dialogue" in *WimpVisualFlags help. * Changed *WimpVisualFlags so that no parameters gives RISC OS 3 behaviour, and -All gives default RISC OS 4 behaviour. (Previously, font blending was enabled in both cases, unless explicitly disabled by an additional -NoFontBlending switch.) This required a sense change in the font blending switch: -FontBlending now enables font blending. -NoFontBlending is still accepted without error, but is ineffectual (since the no-options state upon which it acts already has font blending disabled). * Default setting is now as though *WimpVisualFlags -RemoveIconBoxes had been executed. (In practice, this will not be noticeably different from previous Tematic versions, see below.) * The state -RemoveIconBoxes switch was previously assumed always set - now, if it is not specified, you get the old RISC OS 3 behaviour back. Admin: Tested on Tungsten. Version 4.82. Tagged as 'Wimp-4_82'
-
- 31 Oct, 2002 1 commit
-
-
Ben Avison authored
Detail: * Message list pointers passed into Wimp_Initialises that didn't follow Wimp_StartTask used to be corrupted * Stack imbalance in ExitPoll if SWI Portable_Speed didn't preserve flags * 32-bit mode test speedups * Builds without RO4 option set Admin: Tested on Tungsten and Risc PC. Version 4.79. Tagged as 'Wimp-4_79'
-
- 30 Oct, 2002 1 commit
-
-
Ben Avison authored
Detail: RISC OS 4 changes: * Font blending for desktop font (based on NC code, but now configurable) * 3-D window/menu/iconbar borders * Textured menu backgrounds * Loss of rubout box in unfilled text+sprite icons * *WimpVisualFlags controls various aspects of cosmetic changes above * Iconise button "slot" glyph slightly shorter (but only adopted in the RO400 Resource directory) * Command window has front-window flag set * Byte at +39 of the window block has gained two new flag bits: bit 2 set => this window must never be given a 3D border bit 3 set => this window must always be given a 3D border (note that ResEd erroneously created windows with both bits set, this case is treated as though both bits were clear) * Another two colour specifiers on the end of C validation string command for icons controls the foreground and background colours to be used when the icon is selected * Pointer shape is correctly reprogrammed by the creation of icon underneath it * Full stops in writable icons are treated the same as spaces from the point of view of cursor navigation * spritesize routine returns a size of 0 if the sprite didn't exist (probably fixes some rendering problems) * Adjust-click on back icon brings window to front My changes: * DeleteRight turned on * Icon bar title background is set to default in all resource sets (avoids translation table recalc) * Error box title now cream across all resource sets * RISC OS 4 changes made 32-bit compatible / high addresses safe * Undocumented FullIconClipping option disabled * Command help made consistent for internationalised and non- internationalised builds * WimpVisualFlags defaults made sensible * Menu side width affected by ThreeD option at *run* time not assemble time * Right-clicking on menus with writable items no longer data aborts * Auto-opened menus are now at RHS of current icon (matches RISC OS 3.1) * Colour menus were knackered unless menu tiling was enabled * Fixed a bug whereby adding messages to a task that wanted all messages actually caused it to lose all other messages. The RISC OS 4 fix for this didn't work * Fixed bug introduced in version 4.76: tasks that wanted no messages got all of them * Autoscrolling is updated every 8 cs rather than every 12 cs * Added menu texture to pre-RISC OS 4 sprites files Admin: Tested on Tungsten. Version 4.78. Tagged as 'Wimp-4_78'
-
- 23 Oct, 2002 1 commit
-
-
Ben Avison authored
Detail: All pointers passed to the Wimp (mode selectors, menus, sprite areas, palettes, pollwords, validation strings, message lists, routines etc etc) in any of its APIs can now be anywhere within the 32-bit address range. In general, whenever "<= 0" was accepted as a null condition, the value must now be either 0 or -1. It should also be tolerant of system memory areas (supervisor stack and RMA) being in the top half of memory. Also: * Default next slot now a build option - Ursula builds (eg Tungsten) use 1024K instead of 640K * Ursula builds no longer have a build variant in the help string * Autosenses ROM location * CR-LFs in *Configure messages replaced with LF-CRs * Added Iyonix resources (currently based on Morris4) * Morris4 sprites files have gained file_lxa, small_lxa, file_unf, small_unf and lo!help sprites * Ursula sprites files have gained lo!help sprites * *WimpSlot can take memory sizes in megabytes or gigabytes Admin: Tested on a "traditional" memory-mapped Tungsten. Version 4.76. Tagged as 'Wimp-4_76'
-
- 11 Jan, 2002 1 commit
-
-
Ben Avison authored
Detail: * Keyboard shortcuts in menus are now correctly aligned (and menus will be one pixel wider to compensate for the downwards rounding in SWI Font_ConverttoOS). * There is no longer any danger of menu titles being treated as though they contain a keyboard shortcut. * Dialogue boxes may now contain nested windows. Admin: Tested on a Risc PC. Version 4.72. Tagged as 'Wimp-4_72'
-
- 14 Sep, 2001 1 commit
-
-
Ben Avison authored
Detail: * The pointer passed to Wimp_CommandWindow can now be top-bit-set. * Bugfix to Wimp_CommandWindow: if the current task was uninitialised, or initialised as a non-multitasking task, then although entering the CommandWindow would restore escape condition generation to the way it was before entering the desktop, exiting the CommandWindow did not reset escape condition generation to the default desktop state (which is for escape condition generation to be disabled). * Escape condition generation is disabled for the duration of SWI Wimp_ReportError (instead of setting the default escape key for the duration). The previous state is restored on exit. * Added a minimal environment for the service call Service_ErrorButtonPressed, so that claimants can call OS_Exit without leaving the global Wimp error box in an undefined state. * In the Wimp_Poll loop, if there are no events to deliver to any tasks (not even null events), then rather than sitting in a SVC mode loop, the Wimp now triggers transient callbacks. This is particularly important in order not to halt all activity in the Internet stack. The option LeaveOS can be set to make the Wimp use the as-yet unimplemented SWI OS_LeaveOS for this purpose; this is currently unset for all builds. * By (persistent) request, reinstated the old iconbar popping code, though it is currently a build switch that is turned off for all builds. Admin: Tested on a Risc PC. Version 4.69. Tagged as 'Wimp-4_69'
-
- 23 Feb, 2001 1 commit
-
-
Stewart Brodie authored
Detail: Instead of continually extending the menu windows icon by icon, this version calculates how many icons it is going to need, and claims them en bloc, marking all the icons as deleted so that as the menu code creates each icon, no more block extending needs to be done. int_create_multiple_icons does the extension work; the menu generation code in Wimp05 does the initialising before calling int_create_icon lots of times (3*number of items in menu) Admin: Tested in a desktop build. Version 4.62. Tagged as 'Wimp-4_62'
-
- 03 Nov, 2000 1 commit
-
-
Ben Avison authored
Detail: As soon as a menu or submenu that contains a writeable menu item is opened, the caret is placed in the (first) writeable menu item. Furthermore, you can highlight any other menu item in such a menu without losing the input focus from the writeable menu item. The initial reason for this change was to allow the use of writeable menu items on a touchscreen device, since they have no way for you to move the pointer over the writeable menu item without selecting it. But, on the basis that this change is actually useful for mouse users, and that it makes the behaviour of such submenus more consistent with dialogue boxes, it has been made unconditional. Admin: Tested in a desktop build. Version 4.58. Tagged as 'Wimp-4_58'
-
- 20 Oct, 2000 1 commit
-
-
Ben Avison authored
Detail: * Added new functionality for menu trees: submenus can now be opened by clicking on their parent menu item. This is particularly aimed at touchscreen devices, and is configurable via the new *Configure keyword WimpClickSubmenu. * Change to the menu inactivity timeout behaviour after auto-opening of submenus (either by hovering over the parent menu item or by the new click-to-open functionality): although all hover operations are still ignored for this period, any click operations *will* now be obeyed. * Corrected numerous misleading comments in the menu handling code. * Added some suspiciously absent ALIGNs in the *Configure keyword handlers. * Uses new ASCII case-forcing macros so there are now fewer warnings printed during assembly (and it should run faster now too). * Added an AREA directive so that objasm's -ABS switch is no longer needed. * Standardised ErrMem token across all Messages files that use English. Admin: Tested on a desktop machine. Requires HdrSrc 1.06. Version 4.57. Tagged as 'Wimp-4_57'
-
- 15 Jun, 2000 1 commit
-
-
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'
-
- 25 Apr, 2000 1 commit
-
-
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'
-
- 30 Mar, 2000 1 commit
-
-
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'
-
- 09 Nov, 1998 1 commit
-
-
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'
-
- 23 Oct, 1998 1 commit
-
-
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'
-
- 20 Oct, 1998 1 commit
-
-
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'
-
- 30 Sep, 1998 1 commit
-
-
Kevin Bracey authored
Changed to use srccommit. All conditionals on "Version" removed. Version 4.01. Tagged as 'Wimp-4_01'
-
- 18 Sep, 1998 1 commit
-
-
Ben Avison authored
-
- 07 May, 1997 1 commit
-
-
Kevin Bracey authored
-
- 13 Jan, 1997 1 commit
-
-
Neil Turton authored
-
- 05 Nov, 1996 1 commit
-
-
Neil Turton authored
-