1. 25 Aug, 2019 1 commit
    • ROOL's avatar
      Colour handling enhancements · 9ecc8993
      ROOL authored
      Detail:
        * Artist friendly colour ordering of 256 colour palette, and option to reorder pixel data for the remapped palette
        * Full 256 colour sprites can be created (as well as 64/16 entry VIDC compatible ones)
        * Colour indicator swatch in the bottom left corner of the sprite window
        * Adjust click on colours to paint with background colour
        * Shift-select as a shortcut to Paint > Select colour
        * Shift-adjust ditto for background colour
      Admin:
        Submission for the Paint bounty.
      9ecc8993
  2. 08 Jun, 2019 1 commit
    • ROOL's avatar
      Add clipboard/cut and paste to sprite filer · 3be21b3b
      ROOL authored
      Detail:
        * Sprite filer window can now gain input focus
        * Change sprite/selection menu to add clipboard operations
        * Change 'Copy' to 'Copy as' to keep original copy with rename option
        * Add clipboard copy/paste/cut functionality
        * Add key bindings for clipboard bits
        * Remove existing drag of selection and replace with drag and drop protocol data export
        * Add drag and drop data import
      Admin:
        Submission for Clipboard Support bounty.
      
      Version 2.24. Tagged as 'Paint-2_24'
      3be21b3b
  3. 11 Nov, 2017 1 commit
    • ROOL's avatar
      Add mousewheel zoom/scroll and auto scrolling of selected tools · 82cd0dc4
      ROOL authored
      Detail:
        The mouse wheel can now be used to
        * scroll up/down
        * +shift to scroll left/right
        * +control to zoom in/out
        on an open sprite editing window.
        The sprite editing window will auto scroll when the mouse approaches the border with
        * the move whole sprite "hand" tool
        * the copy block "camera" tool
        * the move block "scissors" tool
      Admin:
        Submission for the Paint bounty.
      
      Version 2.23. Tagged as 'Paint-2_23'
      82cd0dc4
  4. 20 May, 2017 1 commit
    • ROOL's avatar
      Warning suppression · c2a2a721
      ROOL authored
      Detail:
        3 fewer compiler warnings.
      Admin:
        Submission for the Paint bounty.
        Built, but no run time testing.
      c2a2a721
  5. 14 Oct, 2015 1 commit
    • Jeffrey Lee's avatar
      Fix unreliable sorting of sprites · 617dbd01
      Jeffrey Lee authored
      Detail:
        c/Menus - Fix sprite sort code to take into account the fact that variable-length array allocations may cause flex blocks to be moved (due to CLib allocating the array from the heap)
      Admin:
        Tested on Raspberry Pi
        Appears to fix 'sort by name' sometimes resulting in a random sort order being used
        Will hopefully fix 'out of memory' error reported on forums (unable to reproduce here, but this is a likely cause)
        https://www.riscosopen.org/forum/forums/4/topics/3657
      
      
      Version 2.20. Tagged as 'Paint-2_20'
      617dbd01
  6. 27 Mar, 2014 1 commit
    • Jeffrey Lee's avatar
      Various bugfixes. Improve sprite info dialog. · 3a9a3a2c
      Jeffrey Lee authored
      Detail:
        - Handling of currently selected foreground & background colour rewritten; colour is now stored as a 'main_colour' struct, in order to allow representation of alpha level, pixel colour/palette index (which must be 4 bytes for things like CMYK) and ECF index (previously encoded as negative colour values). Fixes crashes when editing RISC OS 5 32bpp ARGB sprites. Note that although the alpha level is now stored internally, and tools should mostly respect it, palette/colour picker limitations mean that only 0/255 is available when selecting colours.
        - "Select colour" code rewritten to decode all the new pixel formats correctly; colours_entry() now accepts a sprite mode word instead of a number-of-colours value
        - "Full info" display tweaked to give more information about the mask (now displays no mask, normal mask, alpha mask, alpha channel)
        - Sprite info dialog extended to display lots more information, including OS version compatibility
        - Fix sprite menu to disallow add/remove mask option if the sprite has a RISC OS 5 alpha channel
        - Fix ECF pattern that's used for the background of masked sprites to get black/white colour values from ColourTrans when in >8bpp modes, to ensure correct colours in new RISC OS 5 modes
        - Fix palette window to render ECF patterns correctly - when creating the sprite that shows the ECF pattern in the palette, psprite_setup_ecf() was failing to set its palette due to passing a sprite pointer to ColourTrans but setting the flags as if it was a sprite name
        - Fix sprwindow_redisplay() and sprwindow_invalidate() to refresh the display correctly when in full info mode; was previously assuming only one column of sprites visible
        - Fix sprites with alpha channels to have the mask ECF pattern plotted in the background
        Files changed:
        - Resources/UK/Messages, Resources/UK/Templates,fec, c/Colours, c/Main, c/Menus, c/PSprite, c/SprWindow, c/Tools, h/Colours, h/MenuD, h/PSprite, h/main
      Admin:
        Tested on BB-xM
        Amongst others, fixes issue reported on forums with spritefile window not refreshing correctly when in full info display with multiple columns:
        http://www.riscosopen.org/forum/forums/8/topics/2146?page=5#posts-31272
      
      
      Version 2.16. Tagged as 'Paint-2_16'
      3a9a3a2c
  7. 06 Aug, 2013 1 commit
    • Jeffrey Lee's avatar
      Fix rendering issues in new screen modes. Add basic support for new sprite types. · fafa11de
      Jeffrey Lee authored
      Detail:
        c/Main, c/PSprite, h/main - Update window background rendering & sprite translation table caching to work properly with new screen modes.
        c/Main, c/Menus, c/PSprite, h/PSprite, h/main - Code to generate description text for sprite colour count now uses new shared function, psprite_get_colours(), which understands the new sprite formats and won't crash horribly if given something unknown.
      Admin:
        Tested on BB-xM with new format sprites and new screen modes
        Needs extending to report more info about new format sprites (RGB order, alpha channel, wide mask, etc.) along with relevant editing facilities.
        Part of an implementation of the Extended Framebuffer Format spec:
        http://www.riscosopen.org/wiki/documentation/show/Extended%20Framebuffer%20Format%20Specification
      
      
      Version 2.15. Tagged as 'Paint-2_15'
      fafa11de
  8. 22 Aug, 2012 1 commit
    • Robert Sprowson's avatar
      Sprite filer selection logic made consistent with filer · 938add00
      Robert Sprowson authored
      Specifically, in the filer when you menu click on a file it is temporarily selected. Clicking on a different file loses the first temporary selection and moves the highlight to the new file. This behaviour is skipped if there are already files selected (using left or right click).
      This change makes !Paint behave this way too, previously the menu click was a permanent selection, so menu clicking elsewhere on a different sprite would actually manipulate the sprite selected some time earlier - very confusing.
      Tidy ups
       * Remove hardwired mouse button bitmask operations, now uses defines from <wimp.h>.
       * Use OS_Byte numbers from header
      
      Version 2.12. Tagged as 'Paint-2_12'
      938add00
  9. 07 Dec, 2010 1 commit
    • Robert Sprowson's avatar
      Simplify _swix to os_swix. · a42c3c38
      Robert Sprowson authored
      Function main_icon_bboxes() reordered to only call the SWIs it needs to fulfil the requested information.
      
      Version 2.04. Tagged as 'Paint-2_04'
      a42c3c38
  10. 06 Dec, 2010 1 commit
  11. 05 Dec, 2010 1 commit
    • Robert Sprowson's avatar
      Prune the plethora of targets a bit. · cba6e241
      Robert Sprowson authored
      Spurious ';' after an if at line 2386 of c.Main deleted, something to do with scroll wheel support. Untested.
      Refer to FileType_ using the filetypes header file.
      Internationalised "Selection" when saving a sprite selection.
      main_save_selection wasn't checking if fwrite() worked so never reported 'disc full'.
      Turn on egg timer during main_save_selection().
      Fix (de)selection bug when in full sprite info view, the 'spritesperrow' was being rounded down to zero, and unlike everywhere else it wasn't being adjusted back to a minimum of 1.
      
      Version 2.03. Tagged as 'Paint-2_03'
      cba6e241
  12. 29 Nov, 2010 1 commit
    • Robert Sprowson's avatar
      Fix abort when sorting the sprites by name and one or more sprite viewers are... · 52984de9
      Robert Sprowson authored
      Fix abort when sorting the sprites by name and one or more sprite viewers are open, also massively simplified it since the copying around of main_sprite blocks was pointless - much simpler to just rejoin the linked list leaving the data in place.
      
      *Tidy up
       Delete awk.*, change to use central 'AwkVers' script.
       Delete h.types.
       Delete h.Paint, it's a duplicate of h.main.
       Delete writepixel, swap to using the one in RISCOS_Lib
       Retire 'h.fixes', switches collapsed, bugfixes proven after 18 years use.
       Cast away some warnings.
       Sprinkled in some consts, moved pointer qualifiers to get syntax colouring
       right.
       Remove local SWI defines, read from <swis.h> now.
       !MkInstall now installs into <Install$Dir>.Apps
      *Little UI changes
       Make the colour number in the colour picker be in the right place vertically
       and correct horizontal position of 'T' and 'E' for ECFs.
       In the create new sprite dialogue box the 32k and 16M options are shaded
       when a palette is requested, this avoids the problem of selecting a deep
       colour mode (which trapped the radio icon in a shaded paletted selection).
       The 'Selection' menu is now shaded when there are zero sprites in the
       file
      *Sprite filer
       Fix tiled main window fill to work in EX0 modes and not overwrite in EX2
       modes (was using the sprite's mode word not the current mode to deduce eigen
       factors), leading to odd chequer board areas not being redrawn.
       Refactored main_clear_background() to use stronger typing of RISC_OSLib
       rather than _swix where possible.
       A failure to get the Wimp pixel translation table now falls back to solid
       fill
       Double clicking on a sprite in the sprite file window no longer leaves it
       selected, to mimic the filer.
       Set DISPLAY_MARGIN to 0 to counter for the recent increase from 32 to 40
       of main_FILER_TextHeight
       Added 'Sort by size' after 'Sort by name'
      
      Version 2.02. Tagged as 'Paint-2_02'
      52984de9
  13. 29 May, 2009 1 commit
  14. 18 Sep, 2007 1 commit
    • Steve Revill's avatar
      Bugfix of version 1.98 · b2d0145b
      Steve Revill authored
      Detail:
        * Show error message when dragging selection fails.
        * Sprite target area in spritefile window set to a minimum height
          of 64 units and minimum width of 64 units.
        * Moving brush now redrawn in the same place that it is updated.
        * Changed moving brush plotting from EOR to NOT to stop
          black in brushes not appearing.
        * Fixed situation where the moving text y position is different
          to plotted text y position at 1:1 scale.
        * Stopped text redrawing repeatedly at the same place. This makes
          single clicks when using EOR plotting always work as expected.
          (old bug)
        * fixed width of insert/delete display at 1:1 scale.
        * fixed ftrace calls left in from changes that cause the !Debug
          compilation to fail.
        * makefile: changed OBJSZ o.Paintlib and o.AltRename. Changed o. to  oz.
        * makefile: changed OBJSD o.Paintlib and o.AltRename. Changed o. to  od.
      Admin:
       Tested on Iyonix RO5.10
       Programmer tested only.
      Notes:
        Changed by Colin Granville
      
      Version 1.99. Tagged as 'Paint-1_99'
      b2d0145b
  15. 27 Jul, 2007 1 commit
    • Steve Revill's avatar
      Changes to SpriteFile window to allow selections and sprite edit window... · 83811440
      Steve Revill authored
      Changes to SpriteFile window to allow selections and sprite edit window changed to improve positioning accuracy.
      
      Detail:
        * Wimp_EScroll event added to make wheelmouse work.
        * Tool rubber banding now snaps to pixel centres making location easier.
        * flickering of box stopped in move (hand) tool.
        * Bottom left of sprites used in painting aligned with grid and sprite plotted
          directly under moving version.
        * Text painting now plots under the moving version of the text.
        * copy, move and hand tools cancel dragging with Adjust.
        * SpriteFile window changed to allow selections using Select,Adjust or Drag.
        * Alt-Select/Adjust on name allows renaming of sprite.
        * TAB moves rename icon to next sprite.
        * Shift TAB moves rename icon to previous sprite
        * Ctrl-Return renames sprite and moves the rename icon to the
          next sprite.
       V2 changes
        * Rubber band rectangular boxes with 0 width or height drawn as a
         line so they don't disappear.
        * Parallelogram rubber band where all the points are in line drawn
          as a line so they don't disappear.
      Admin:
        Tested on Iyonix RO5.10
        Programmer tested only.
      Changed by:
        Colin Granville
      
      Version 1.98. Tagged as 'Paint-1_98'
      83811440
  16. 26 Feb, 2003 1 commit
  17. 21 Feb, 2003 1 commit
    • Robert Sprowson's avatar
      Deleted some junk from CVS. · 6244b2ae
      Robert Sprowson authored
      On creating a new sprite (which is white) an attempt is made to select the
      furthest colour from white in the palette.
      Corrected icon shading in create dialogue,redid create template.
      On closing a file the sprites are freed in reverse order in an attempt to
      make it faster (as the blocks are flex'd in the other order) - will speed
      up some situations.
      When there are 0 sprites in a file the "Save" entry is greyed,this was
      causing a internal error nasty looking error box before.
      Tweak to allow the debug to be compiled again.
      Filesize info box now used OS_ConvertFileSize as the display field
      overflowed for files > 1M ish.
      File info box made longer than 50 characters,that was a bit stingy.
      Local flood fill with transparent mask added.
      Reworded some of the messages.
      Added "sort by name" to misc menu - sorts the sprites by name oddly enough.
      The delete rows/columns now rounds up the grid coordinates,before there
      were cases where you could never quite select the edge column/row,for
      example a 79*98 sprites zoomed to x8 versus x7.
      
      Version 1.96. Tagged as 'Paint-1_96'
      6244b2ae
  18. 13 Jan, 2003 1 commit
  19. 05 Nov, 1996 1 commit