- 06 May, 2013 1 commit
-
-
Robert Sprowson authored
Previous attempt to disable Sprites11 support for 3.10 and 3.50 hadn't spotted it was reenabled in the common options, also the Sprites11 switch was also tied up in Wimp$IconTheme support. Title bars would flicker when picked up when using a tool sprite set with no 'p' pushed equivalents on RISC OS 4.0x due to screen cache. Makefile now installs a default set of tools & sprites when target is ThemeDefs. CLI limit reduced to 256 pre Ursula to save RAM. Options/!Common: Promote Sprites11 switch into !Default Remove fixrmatools Options/!Default: Sprites11 true by default LongCommandLines true by default, false on targets pre Ursula Remove ServiceCallTable (harmless to have it in all cases) NewSWIs.s: Enable Wimp_Extend 13 all the time Wimp01.s: Reduce RMA use by vital 1.5k for non long command line case Change sense of Sprites11 switch to adopt all its previous functionality, but not look for '11' suffix when the switch is false Adopt ServiceCallTable switch permanently Wimp02.s: Comments ammended Wimp07.s: Range of ADR Wimp10.s: Change sense of Sprites11 switch to adopt all its previous functionality, but not look for '11' suffix when the switch is false Adopt :LNOT: fixrmatools switch permanently Supress title bar sprite plotting when none of the sprites exist Version 5.25. Tagged as 'Wimp-5_25'
-
- 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'
-
- 04 Aug, 2011 1 commit
-
-
Jeffrey Lee authored
Detail: s/Wimp, s/Wimp01, s/Wimp02, s/Wimp07, s/Wimp08 - Try using OS_ReadSysInfo 6 to get IRQsema & DomainId locations before falling back on legacy values. Store the pointers in module workspace for speedy access. Admin: Tested on rev A2 BB-xM Version 5.13. Tagged as 'Wimp-5_13'
-
- 01 Feb, 2011 1 commit
-
-
Jeffrey Lee authored
Detail: s/Wimp03, s/Wimp07 - When saving the VFP context the Wimp now uses lazy context switching where possible, via a combination of the Lazy & AppSpace flags Admin: Tested on rev A2 BB-xM Requires VFPSupport 0.02 Version 5.11. Tagged as 'Wimp-5_11'
-
- 26 Nov, 2010 1 commit
-
-
Jeffrey Lee authored
Detail: s/Wimp, s/Wimp01, s/Wimp02, s/Wimp03, s/Wimp07 - The Wimp now uses the VFPSupport module to switch VFP contexts when performing task switches. Each task begins with the null context active (i.e. no VFP/NEON access). When paging out a task the ID of the active context is saved in the Wimp's per-task workspace. This context is then restored when the task is about to be resumed. Context save/restore is performed while the right task's memory is paged in, so it's safe to use with contexts located in application space. Admin: Tested with Iyonix & Beagle ROM builds. Version 5.09. Tagged as 'Wimp-5_09'
-
- 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'
-
- 17 Jan, 2005 1 commit
-
-
Ben Avison authored
Moved the Hdr:NdrDebug routines so that debug versions build. No change to production binaries, so not tagged.
-
- 28 Feb, 2003 2 commits
-
-
Ben Avison authored
Wimp_ReportError would loop indefinitely if the error string was zero length and the desktop font was an outline font. Version 4.89. Not tagged
-
Ben Avison authored
Wimp_GetPointerInfo should include shaded icons, in particular so that they can now have interactive help. Included some information on RISC OS Select APIs so that we can avoid clashes. Version 4.89. Tagged as 'Wimp-4_89'
-
- 23 Jan, 2003 1 commit
-
-
Ben Avison authored
Detail: * All tasks have erroneously been flagged as receiving all messages since version 4.78. Correct behaviour is now restored, and the previous fix (to ignore Wimp_AddMessages calls for tasks that already wanted all messages) should be unaffected. * Check for "P"-validation icon creation under the pointer was broken in three ways, now works. * The optimisation of multiple Message_SlotSize calls is overenthusiastic, and can lead to some messages being lost if the slot size is changed (including as a side-effect of OS_ChangeDynamicArea) during high-priority pollword-nonzero handlers or message handlers for Message_SlotSize - in both situations, a message block that may have already been delivered to some tasks is still present at the head of the message list. Now, the optimisation always ignores the message at the head of the message list. Admin: Tested on Tungsten. Version 4.86. Tagged as 'Wimp-4_86'
-
- 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'
-
- 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'
-
- 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'
-
- 29 May, 2001 1 commit
-
-
Ben Avison authored
Detail: * Command line buffer for Wimp_StartTask (and anything that uses it, eg *WimpTask) increased from 256 bytes to 1024 bytes. * Top-bit-set message list pointers passed to Wimp_Initialise and Wimp_RemoveMessages now work (there was never a problem with Wimp_AddMessages!) * The fix for top-bit-set application name pointers in Wimp 4.65 actually only fixed lookup for "<application> may have gone wrong" lookups. They now work correctly in error window title construction, and when constructing an application sprite name if flag bit 8 is clear. * A pointer value of 0 is now accepted in addition to -1 for an "<application> may have gone wrong" lookup - this brings it into line with the other two places where the application name pointer is referenced. * When constructing an error window title, the Wimp would skip any leading backslash character. Now it does so when constructing "<application> may have gone wrong" too - this is a simple way to disable the application sprite in the error window. Admin: Error box behaviour actually tested this time! Version 4.67. Tagged as 'Wimp-4_67'
-
- 23 Mar, 2001 1 commit
-
-
Ben Avison authored
Detail: * Any top-bit-set sprite area pointer in a window definition was treated as a null pointer, and any top-bit-set program name pointer in Wimp_ReportError was similarly treated as a null pointer. * For 24-bit window colour builds, when the Wimp drew a title bar with the input focus, and there were sprite icons in the previously redrawn window, and the most recently plotted icon sprite was unpaletted and not selected or inverted, then the translation table for the icon sprite (in the RMA) would leak. I suppose that's what I get for re-using a bit of dead code without fully working out why it was bypassed in the first place... * The key handling code used to be over-eager to read bytes from the keyboard buffer: it would attempt to read up to 6 bytes ahead to ease the recognition of UTF-8 character sequences. This could cause problems, in particular if F12 was one of those 6 bytes, then any following bytes would be queued for use as Wimp keypresses, rather than being left in the keyboard buffer for use by ShellCLI. The Wimp now analyses the first byte read to make a sensible estimate of how many bytes it needs to read ahead. * Select-dragging (including Select-resizing) of windows with panes used to soak up all the processor time. This was because when the task received an Open_Window_Request, it would re-open the pane in front of the main window, but this would cause the Wimp to believe that it had to re-open the main window at the front of the stack again when Wimp_Poll was next called. The problem has been fixed so that the Wimp now examines all the windows in front of the drag window to see if they have the pane window flag bit set, and doesn't reshuffle the windows if they all do. (Actually, the test is performed such that foreground windows in front of the drag window are also ignored.) Admin: Tested on a desktop machine. Version 4.65. Tagged as 'Wimp-4_65'
-
- 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'
-
- 29 Mar, 2000 1 commit
-
-
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'
-
- 29 Apr, 1999 1 commit
-
-
Kevin Bracey authored
Version 4.19. Tagged as 'Wimp-4_19'
-
- 25 Mar, 1999 1 commit
-
-
Simon Middleton authored
Removed the code that restores the original pointer shape when leaving an error box (NCErrorBox conditional in Wimp07:finisherror). This option is no longer necessary now that the Wimp_Extend support ensures that the pointer appears and disappears as the user expects. Version 4.17. Tagged as 'Wimp-4_17'
-
- 27 Nov, 1998 1 commit
-
-
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'
-
- 26 Nov, 1998 1 commit
-
-
Ben Avison authored
builds: now behaves like desktop builds (only detects button-down events). * When mouse pointer is hidden following Wimp_Extend 12, changes of mouse button state will no longer cause the pointer to be reinstated. Version 4.12. Tagged as 'Wimp-4_12'
-
- 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'
-
- 07 Oct, 1998 1 commit
-
-
Steve Cormie authored
Version 4.02. Tagged as 'Wimp-4_02'
-
- 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
-
- 16 May, 1997 1 commit
-
-
Kevin Bracey authored
-
- 07 May, 1997 1 commit
-
-
Kevin Bracey authored
-
- 13 Jan, 1997 1 commit
-
-
Neil Turton authored
-
- 05 Nov, 1996 2 commits
-
-
Neil Turton authored
-
Neil Turton authored
-