1. 06 May, 2017 1 commit
    • ROOL's avatar
      Fixes for pinboard backdrop sprite changing · f462c775
      ROOL authored
      Detail:
        Fix out-by-1 error in MakeCompactModeWord, the palette checksum read from array index -1 due to the loop construction.
        Consider the x/y size as well as the compact mode word when deciding whether to recache the backdrop sprite.
        Don't assume the screen byte size is equivalent to working out the sprite byte size, due to word rounding at the end of each line. Calculate it properly.
        Allow the Wimp_SlotSize to exactly equal the required memory (previously, had to be larger).
      Admin:
        Submission from Timothy Baldwin, with minor refactoring.
      
      Version 1.03. Tagged as 'Pinboard-1_03'
      f462c775
  2. 10 May, 2016 1 commit
    • Robert Sprowson's avatar
      Emit boot relative Pin/AddTinyDir commands where possible · 51a0712b
      Robert Sprowson authored
      When saving the desktop settings, use the same substring matching logic that !Configure's boot addapps/lookat/run uses, and replace the base of the name with Boot: or Boot:^.
      This means that if the boot drive is renamed the pinboard still starts up with the same items on it.
      Ditch support for Message_SaveDesktop - the code's been a NOP since Ursula (circa 1998).
      Tested on a Raspberry Pi, renaming the SD card.
      
      Version 1.01. Tagged as 'Pinboard-1_01'
      51a0712b
  3. 08 May, 2016 1 commit
  4. 09 Mar, 2014 2 commits
    • Jeffrey Lee's avatar
      Fix background tiling logic · 327f14a0
      Jeffrey Lee authored
      Detail:
        s/StartLoop - Fix non-softload version to exit immediately after the tiled OS_SpriteOp instead of falling through to the old manual loop. Make sure r1 is initialised correctly for the manual loop (contrary to the source comments, the function was previously relying on r1 being a pointer to the redraw rectangle on entry)
      Admin:
        Tested on BB-xM (ROM build with OS_SpriteOp 65), Iyonix (softload without OS_SpriteOp 65 available)
        Issue spotted by eagle-eyed Sprow
      
      
      Version 0.98. Tagged as 'Pinboard-0_98'
      327f14a0
    • Jeffrey Lee's avatar
      Use OS_SpriteOp 65 for tiled backdrop sprites · c257ae41
      Jeffrey Lee authored
      Detail:
        s/StartLoop - Use OS_SpriteOp 65 for drawing tiled backdrop sprites. Fall back to manual tiling code in softload versions if OS_SpriteOp 65 unavailable.
      Admin:
        Tested on Iyonix, BB-xM
        Requires HdrSrc-2_42
      
      
      Version 0.97. Tagged as 'Pinboard-0_97'
      c257ae41
  5. 11 Sep, 2012 1 commit
    • Robert Sprowson's avatar
      Fix for not recalculating pixel translation on backdrop tile going from G256... · 6f1ca57b
      Robert Sprowson authored
      Fix for not recalculating pixel translation on backdrop tile going from G256 to C256 (or G16 to C16) mode specifier
      
      The change in Pinboard-0_95 to get eigen factor rescaling right included a quick exit when neither the bpp nor eigen factors had changed.
      However, changing from a greyscale to colour 8bpp or 4bpp mode falls fouls of this (since bpp and eigen are the same), so the backdrop sprite was not recached.
      There was code to collect Message_PaletteChanged, however the Wimp hasn't sent this round since pre RISC OS 3.60, additionally the mode change code was manually disabling it (not required since Message_ModeChange was never accompanied by Message_PaletteChange according to PRM3-230). This has been switched out.
      Now, the 'have I already done this sprite' flag includes the bpp and eigen factors plus a 13 bit hash of the desktop palette.
      
      Version 0.96. Tagged as 'Pinboard-0_96'
      6f1ca57b
  6. 23 Aug, 2012 1 commit
    • Robert Sprowson's avatar
      Fix for patchy tiled backdrops on changing to non EX1/EY1 mode · 4379de0e
      Robert Sprowson authored
      Pinboard keeps a note of the mode (from OS_Byte 135) that the backdrop sprite tile was last cached in, to avoid having to recache it all the time. However, the comparison fails when the mode specifier block (ie. when OS_Byte 135 is not reporting a numeric screen mode) is static since although the mode might have changed Pinboard would not think it had and hence not recache the sprite.
      The result is a patchy desktop, for example changing from EX1/EY1 to EX0/EY0 would leave a quadrant arrangement of 1 redrawn patch and 3 not redrawn.
      Backdrop.s:
      Line 151 onwards, when a mode specifier is used, build a magic mode word combining EX EY and BPP (the 3 parameters the cache sprite function cares about), as a stronger check.
      Tail.s:
      Line 130 onwards, calculate the iconbar height properly (previously used 134 pixels for EY0 modes, 1 too high, leading to a thin strip of background colour above the iconbar.
      Other changes
       - Use sprite area offset names from Hdr:Sprites rather than magic numbers
       - Use OS_Byte reasons from Hdr:OsBytes
       - Use "file.s" style names in LNK commands
       - Move BadOptions/NotASprite error blocks to avoid range error when assembling debug versions
       - true and false for objasm {TRUE} and {FALSE}
      
      Version 0.95. Tagged as 'Pinboard-0_95'
      4379de0e
  7. 24 Sep, 2011 2 commits
  8. 14 Apr, 2011 1 commit
    • Ben Avison's avatar
      Add Message_ToggleBackdrop to allow the backdrop to be moved to front or back. · bae04ff4
      Ben Avison authored
      Detail:
        The Message_ToggleBackdrop has been introduced by ROL in one of their Select
        releases. In order to bring the RISC OS 5 API closer the ROL branch this
        changeset aims to add this message to RO5.
      
        Applications can broadcast Message_ToggleBackdrop to request that the backdrop
        application moves the backdrop. The message can be used to move the backdrop
        to the front, the back, toggle it or to get notified of the backdrop's
        current position.
      
        After the backdrop has been moved, this message is sent back to the
        application to notify it of the backdrop's new position.
      
        Message_ToggleBackdrop &400D1:
           +0  = 24 (Message size)
           +4  = Backdrop controlling application
           +8  = My reference number
           +12 = Your reference number
           +16 = &400D1 (Message_ToggleBackdrop)
           +20 = Flags (if not present, assumed 0)
                   b0-1  = type of toggle
                            0 = toggle
                            1 = front
                            2 = back
                            3 = notify of status
                   other = reserved
      Admin:
        Tested on RO 5.16
      Author:
        Fred Graute
      
      Version 0.90. Tagged as 'Pinboard-0_90'
      bae04ff4
  9. 05 Nov, 2007 1 commit
    • Steve Revill's avatar
      Bug fixed and refactored code for plotting the background image. · 40c49c60
      Steve Revill authored
      Details:
        Changed plotting of tiled jpegs so that only affected tiles are redrawn.
        Plotting of tiled sprites started one pixel too low.
        Tiled jpegs used a different origin to tiled sprites.
        Tiled sprites plotting treated redraw MaxX/MaxY as inclusive.
      Admin:
        Tested on Iyonix RO5.11
      Changes by:
        Fred Graute
      
      Version 0.86. Tagged as 'Pinboard-0_86'
      40c49c60
  10. 14 Mar, 2006 1 commit
    • Steve Revill's avatar
      Different way of doing escape-aborts-drag implementation · 6a4d9006
      Steve Revill authored
      Detail:
        Although the previous check-in works, it uses EventV to trap escape key
        press events. This mechanism doesn't stop them from being passed on to
        whoever has input focus (e.g. a task window).
      
        The new way to do things is to grab input focus when a drag starts and
        to restore it (if possible) when the drag f we abort the drag (and restore focus). All other keys
        are passed on to the Wimp.
      
        The side-effect is that any window which has focus will temporarily lose
        focus for the duration of a Pinboard drag op I think we can
        live with that.
      Admin:
        Tested on Iyonix and works fine. Now, if only the Filer did this, too...
      
      Version 0.83. Tagged as 'Pinboard-0_83'
      6a4d9006
  11. 31 Jul, 2003 1 commit
    • Robert Sprowson's avatar
      A few assumptions about SWIs preserving flags remained: nuked. · 2668021c
      Robert Sprowson authored
      A few TEQ Rn,#0 changed to use 'S' and save an instruction.
      Fix for misscaled tiled backdrop sprite in EX/EY0 mode - an 'out by 1'
      error meant that some of the background colour shone through when the
      tile sprite got resized to be too short.In any other EX/EY mode you never
      noticed it due to rounding errors in the scaling.
      The "Iconise to..." options submenu is now shaded if the Wimp has the
      iconise buttons turned off: this minimises confusion for anyone who
      hasn't realised that shift-close and iconise are subtley different in that
      only the iconise button obeys the "Iconise to..." options,whereas
      shift-close iconises at the point of application.
      
      Version 0.81. Tagged as 'Pinboard-0_81'
      2668021c
  12. 11 Nov, 2002 1 commit
    • Robert Sprowson's avatar
      Commented out "proginfo" string,no longer used. · d830e6f3
      Robert Sprowson authored
      Prefixed the pin and addtinydir commands that get saved in the
      pinboard file with "X " so your pinboard setup continues even if a file
      is no longer available.ROL did this with a new XPin command,not taken.
      Merged changes from ROL to allow the icon text to be an arbitary colour
      though this can be switched out with "technicolour_text" for the
      purists.
      Help entry added to the pinboard selection submenu,this will be greyed
      out except when
       it's an app
       and it has a !help file
       and it is the only object selected
      like the filer does.
      Updated messages file accordingly.
      Menu clicking on the "save pinboard settings" OK button no longer saves
      the file,and adjust clicking keeps the menu tree open
       -> fixes bug report from 1998,now removed from "Status" file
      Saveas template resized to match !Edit.
      Fixed problem of select dragging a file to an app leaving the icon
      selected (due to two conditional MOV R0's being followed by an
      unconditional one for some reason).
       -> fixes bug report from 1998,now removed from "Status" file
      Tweaked a few CMP#0 BLT's to test specifically for the iconbar handle.
      The bug report in "Status" about bits of filenames being left on the
      pinboard can be bodged by popping an ADD r0,r0,#16 after the XWimp_TextOp
      in s.buffered but I've not done this yet.
      
      Version 0.78. Tagged as 'Pinboard-0_78'
      d830e6f3
  13. 16 Mar, 2001 1 commit
  14. 17 Aug, 1999 1 commit
    • Stewart Brodie's avatar
      Ursula branch merged. · fe208d90
      Stewart Brodie authored
      Added inclusion of Machine header for new CMOS header
      Moved to srccommit.
      Templates contain hardwired version/date information which is a long
        way out of date.  This has not been fixed in this checkin.
      
      Version 0.75. Tagged as 'Pinboard-0_75'
      fe208d90
  15. 05 Nov, 1996 1 commit