1. 18 May, 1998 1 commit
    • Ben Avison's avatar
      Added a couple of extra compile-time options for use in specialied... · 40046457
      Ben Avison authored
      Added a couple of extra compile-time options for use in specialied applications; both are switched out in all standard builds.
      
      ForceTwitter: used in combination with Twitter flag, this causes
         antitwittering to be employed irrespective of ModeFlags bit 8,
         and also irrespective of whether a window is auto-redraw or not.
      
      HideIconBar: ensures that the icon bar is behind the backwindow, unless
         it has been brought to the front (by either method). In conjunction with
         a modified Pinboard, this can produce a quick-and-dirty iconbar-less
         machine.
      40046457
  2. 13 May, 1998 1 commit
  3. 08 May, 1998 2 commits
    • Ben Avison's avatar
      The title bar, and the back, close and iconise buttons, are no longer redrawn... · fcb1b2b4
      Ben Avison authored
      The title bar, and the back, close and iconise buttons, are no longer redrawn when a window is resized in just the vertical direction.
      
      All window colours can now be specified in 24-bit colour.
      
      Where a sprite is used to plot the back, close, title, iconise, toggle-size,
      adjust-size or scroll arrow icons, the sprite is now plotted using a distorted
      translation table, to give the sprites the appearance of being coloured
      according to the window colours.
      
      The 3D toolsprite set now has solid titlebar sprites.
      
      The icon bar template now uses the standard title bar colours (this optimises
      redraw because of the new border tinting code).
      
      When the toggle-size icon or title bar are to be plotted using solid sprites,
      the background is no longer filled in just prior to the event (although this
      will still be performed if the relevant sprite is masked). This is to reduce
      flicker. Similarly, the erroneous rectangle outlines plotted behind scrollbars
      have been removed.
      
      New "TASK"-form Wimp_ForceRedraw reason codes:
        R2 = 0 => redraw whole window border (includes line borders).
        R2 = 8 => redraw iconise button.
      fcb1b2b4
    • Ben Avison's avatar
      The title bar, and the back, close and iconise buttons, are no longer redrawn... · 6301aa47
      Ben Avison authored
      The title bar, and the back, close and iconise buttons, are no longer redrawn when a window is resized in just the vertical direction.
      
      All window colours can now be specified in 24-bit colour.
      
      Where a sprite is used to plot the back, close, title, iconise, toggle-size,
      adjust-size or scroll arrow icons, the sprite is now plotted using a distorted
      translation table, to give the sprites the appearance of being coloured
      according to the window colours.
      
      The 3D toolsprite set now has solid titlebar sprites.
      
      The icon bar template now uses the standard title bar colours (this optimises
      redraw because of the new border tinting code).
      
      When the toggle-size icon or title bar are to be plotted using solid sprites,
      the background is no longer filled in just prior to the event (although this
      will still be performed if the relevant sprite is masked). This is to reduce
      flicker. Similarly, the erroneous rectangle outlines plotted behind scrollbars
      have been removed.
      
      New "TASK"-form Wimp_ForceRedraw reason codes:
        R2...
      6301aa47
  4. 27 Apr, 1998 1 commit
    • Ben Avison's avatar
      * When a window was reopened such that the iconise button replaces the... · e8f5de51
      Ben Avison authored
      * When a window was reopened such that the iconise button replaces the toggle-size icon (or vice versa), the Wimp now spots that the relevant rectangle needs redrawing.
      
      * When a window stays put, but scrolls in one direction, the unaffected
        scrollbar is no longer redrawn, in order to reduce flicker. This was
        coded, but broken, on Risc PC Wimps, but doubly broken in the Nested Wimps
        - and the flicker was particularly noticeable with Ursula's cached screen
        enabled...
      * Fixed nasty bug in nested window open flushing: this seems to have been
        caused by faulty behaviour of addsub when passed a rectangle where cx0>cx1
        and/or cy0>cy1. Filtering out such cases from subrect calls in
        (old)subtract_openingchildren prevents this from being the case. The old
        behaviour was trashing the borderrects list, which resulted in the loss of
        the invalidrects list, causing full-screen redraw when a window containing
        seven (or more) child windows was scrolled or resized.
      * Fixed a bug introduced in last version, whereby program error and watchdog
        error box text was overwritten with "WindowManager:Sprites22".
      * Supported long pathnames for *IconSprites.
      e8f5de51
  5. 21 Apr, 1998 1 commit
    • Ben Avison's avatar
      Bugfixes: · 85016583
      Ben Avison authored
      Re-opening a menu structure containing a dialogue box (especially one
      containing the caret) was causing data aborts under some OSes/builds.
      
      The minimum title bar length is now the same for windows without line borders,
      even if the vertical scroll bar is also absent. This prevents cases when the
      title bar shrunk so far that a graphics clipping error occurred.
      
      Wimp_DragBox was looking in R0 for its flags, rather than R3, as specified!
      
      If the pointer was to the right of the central zone, vertical autoscrolling
      was working too slowly.
      
      On Service_SwitchingOutputToSprite, the Wimp now re-assesses its idea of the
      screen limits. This prevents Wimp_PlotIcon plots outside the current screen
      bounds from being optimised out.
      85016583
  6. 17 Apr, 1998 1 commit
    • Ben Avison's avatar
      Redraw of dragboxes when being resized/translated optimised to reduce flicker. · cb05448e
      Ben Avison authored
      Autoscroll update period extended to 12cs to reduce flicker.
      
      Added Wimp_ReadSysInfo 17 to return configured drag-and-drop scroll startup
      delay (in cs) because the CMOS storage isn't easy to read.
      
      Identified and bracketed changes from 3.9x responsible for 24-bit icon colours.
      
      defaultfontcolours now works correctly again.
      
      Introduced new icon colour code. This holds icon colours in 24 bits internally
      throughout, rather than treating 24-bit colour specifiers as a special case.
      This results in the following bugfixes/improvements:
       * 3D faces and moat colours, and slabbed-in action button backgrounds, can
         all be specified in 24-bits
       * fading of icons is now consistent across icon types, and utilises the
         colour range of >16 colour modes
       * 3D borders now get faded along with the rest of the icon
       * action buttons can now contain sprites (background is correct, and sprite
         is not inverted)
       * various cases where anti-alias...
      cb05448e
  7. 07 Apr, 1998 1 commit
    • Ben Avison's avatar
      Added Ursula Service Call table · 776ffbd1
      Ben Avison authored
      Flushes cached screen after dragbox updates
      Fixed window stack behaviour so background windows interact conventionally again
        (fixes a number of window positioning bugs)
      Disabled Shift-Select-close for child windows
      776ffbd1
  8. 03 Apr, 1998 1 commit
    • Ben Avison's avatar
      Iconise button removed from child windows · 082117ee
      Ben Avison authored
      Icon bar now jumps to the back of the stack as soon as a window is opened above
      it (excluding menus, dialogue boxes and foregroud windows). This is to avoid
      the ambiguous situation when the icon bar can be part-way down the window stack.
      Improved co-odination between auto-fronting and Shift-F12 behaviour.
      Stopped scroll offset overflow during icon bar scroll.
      Numerous features made configurable:
        WimpIconBarSpeed
        WimpIconBarAcceleration
        WimpSpritePrecedence
        WimpIconiseButton
        WimpStickyEdges (although not actually implemented yet)
        WimpAutoFrontIconBar
        WimpAutoFrontDelay
        WimpAutoScrollDelay
      To make room for these in CMOS, Wimp<Drag|DoubleClick><Delay|Move> and
      Wimp<AutoMenu|MenuDrag>Delay options are now stored in a more compressed form
      in CMOS - but the *Configure interface is unaltered.
      082117ee
  9. 26 Mar, 1998 1 commit
    • Ben Avison's avatar
      New features: · f61b123f
      Ben Avison authored
      Dragboxes can now be clipped by and/or fixed to a given window's work area
      SWI Wimp_AutoScroll implemented
      Ursula icon highlighting scheme redesigned
      
      Bugfixes:
      Wimp_Extend 11 now performs the same check on R1 as the main SWI handling code
      Message blocks now updated if in a dynamic area
      Screenblanker now turned off when error box is displayed
      ptr_double now turned off when a drag starts
      f61b123f
  10. 10 Mar, 1998 2 commits
    • Ben Avison's avatar
      Main new features in Ursula build so far · 9e035568
      Ben Avison authored
      (some are also available in other builds):
      
      * New icon highlighting scheme - hue rotated 180 degrees, photographic negative,
        darkened 25% - suits Ursula icons better.
      * Release-button window tools compile-time switch turned on.
      * Any "TASK" word cleared on exit from Wimp_OpenWindow, Wimp_GetWindowState,
        Wimp_ForceRedraw and Wimp_CloseDown.
      * Child windows are no longer allowed to be opened inside the icon bar.
      * Message_IconizeAt generation optimised, and no longer calls non-X SWIs.
      * Message_IconsChanged implemented, and switched out on speed grounds.
      * Wimp_ReadSysInfo 15 removed, replaced with (new) Wimp_Extend 11.
      * Backwindows are now segregated from normal windows. A new category,
        foreground windows, are added, and stay above all other windows. (The error
        box template is updated to make it a foreground window.)
      * ROM sprites override RAM sprites (and duplicate RAM sprites are deleted
        during the building of the sprite lookup list, preceding the first sprite
        plot after a sprite pool update).
      * Wimp_ReadSysInfo 16 added, to return sprite area pointers in order of
        priority (Wimp_BaseOfSprites retains the ROM/RAM distinction).
      * Error box code altered:
        + symbolic names used for offsets into tempworkspace
        + error button text buffer enlarged
        + stretched error buttons now shrink back for next use
        + int_flush_opens called at appropriate points to ensure buttons are seen to
          slab in, and to reduce flicker when redisplaying error box at a different
          width (also fixes some redraw bugs)
        + Cancel button given the R6 type border when it will be activated by Return
          (and is therefore moved to the extreme right in such cases)
        + Escape now always selects the second-right button (unless there's only one
          button!) - this also fixes a bug when there's a single user-defined button
        + keypresses in "xxx may have gone wrong" error boxes are now correctly
          interpreted - previously the buttons available in the underlying box were
          being used to determine the effect of keys
        + maximum number of buttons increased from 4 to 8, and the machine no longer
          crashes when the maximum is exceeded
        + window stretches horizontally to keep error message to 7 lines or less
      * Bugfix: opening or creating a window with a minimum x visible area coordinate
        of -1 was leading to any of smearing/flickering/recursive drawing. (This was
        actually due to a failure to recognise which windows' positions had been
        updated.)
      * Features merged in from spinner branch Wimp:
        + support for UpCall_MediaSearchEndMessage added
        + control-termination allowed in upcalls (used to require null-termination)
        + escape character switched to default during error box display, then
          switched back again afterwards
      * GetRectangle filters are now called with (internal) window handle in R10.
      * Autohourglass is deactivated whenever WrchV is invoked. (Also optimised.)
      * Action button bugfixes:
        + action buttons now deselect if the pointer is dragged off and a window tool
          is the pressed before all the buttons have been released
        + action buttons now slab in following a long (autorepeating) press on a
          scroll arrow window tool
      9e035568
    • Ben Avison's avatar
      Main new features in Ursula build so far · 82a9df7d
      Ben Avison authored
      (some are also available in other builds):
      
      * New icon highlighting scheme - hue rotated 180°, photographic negative,
        darkened 25% - suits Ursula icons better.
      * Release-button window tools compile-time switch turned on.
      * Any "TASK" word cleared on exit from Wimp_OpenWindow, Wimp_GetWindowState,
        Wimp_ForceRedraw and Wimp_CloseDown.
      * Child windows are no longer allowed to be opened inside the icon bar.
      * Message_IconizeAt generation optimised, and no longer calls non-X SWIs.
      * Message_IconsChanged implemented, and switched out on speed grounds.
      * Wimp_ReadSysInfo 15 removed, replaced with (new) Wimp_Extend 11.
      * Backwindows are now segregated from normal windows. A new category,
        foreground windows, are added, and stay above all other windows. (The error
        box template is updated to make it a foreground window.)
      * ROM sprites override RAM sprites (and duplicate RAM sprites are deleted
        during the building of the sprite lookup list, preceding the first sprit...
      82a9df7d
  11. 02 Feb, 1998 1 commit
  12. 08 Dec, 1997 1 commit
  13. 28 Oct, 1997 1 commit
  14. 21 Oct, 1997 1 commit
    • Mike Stephens's avatar
      - corrected comments re Wimp08 versus Wimp08s · 98901280
      Mike Stephens authored
       - tidied up Wimp08s
       - Added optional use of kernel lock for Wimp_ClaimFreeMemory, controlled
         by KernelLocksFreePool in Options (currently true for Ursula only)
       - restricted max size of Wimp Sprite Pool dynamic area to 16M (controlled
         by WimpSpritePoolMaxSize in s.Memory) to avoid wasted address space on
         large memory machines
      98901280
  15. 16 Oct, 1997 1 commit
  16. 15 Oct, 1997 1 commit
  17. 02 Sep, 1997 1 commit
  18. 09 Jul, 1997 1 commit
  19. 07 Jul, 1997 1 commit
    • Ben Avison's avatar
      Hourglass depth now incremented by 1 between calls to Wimp_Poll; effect is to... · ba1c4c8f
      Ben Avison authored
      Hourglass depth now incremented by 1 between calls to Wimp_Poll; effect is to automatically display hourglass whenever applications hog the CPU, irrespective of whether they already display the hourglass themselves or not.
      
      Hourglass is automatically smashed before any Command Windows are displayed
      so that output-generating single-tasking programs are not forced to show the
      hourglass due to the behaviour described above.
      ba1c4c8f
  20. 11 Jun, 1997 2 commits
  21. 21 May, 1997 1 commit
  22. 20 May, 1997 1 commit
  23. 16 May, 1997 2 commits
  24. 13 May, 1997 2 commits
  25. 12 May, 1997 1 commit
  26. 09 May, 1997 1 commit
  27. 08 May, 1997 2 commits
  28. 07 May, 1997 2 commits
  29. 01 May, 1997 1 commit
  30. 27 Mar, 1997 1 commit
  31. 31 Jan, 1997 1 commit
  32. 30 Jan, 1997 2 commits