- 06 Apr, 2022 2 commits
-
-
Robert Sprowson authored
A few calls to werr() were passing tokens rather than looking them up first.
-
Robert Sprowson authored
Rather than use wimpt_complain for those SpriteOps involved in loading a file (which leads to a 'Paint has gone wrong' style error box), use werr tp show the message in one step.
-
- 12 Feb, 2022 1 commit
-
-
ROOL authored
Detail: * Allow creation of new format sprites: - Alpha mask sprites - Alpha channel sprites * Enhanced Brush tool ideas: - Alpha channel sprite support + sprite brushes effectively provide airbrush support New brushes are provided in the brush tool with Gaussian blur. By relying on the underlying OS_SpriteOp calls, only RGB blending of alpha sprites is supported; when you paint over a transparent or translucent region of a sprite, it always turns fully opaque, except when using the Transparent colour. On an alpha masked sprite, painting in the transparent colour always turns the affected pixels fully transparent. Admin: Submmission for Paint bounty. Version 2.46. Tagged as 'Paint-2_46'
-
- 16 Oct, 2021 4 commits
-
-
ROOL authored
Detail: Avoid unnecessary redraws. Admin: Submission for Paint bounty. Version 2.45. Tagged as 'Paint-2_45'
-
ROOL authored
Detail: Brush translation table code changed to keep a copy of the four word workspace (for the ColourTrans transfer function) with each translation table. This avoids situations where changes to the brush settings weren't causing the translation table to be rebuilt. For example: this may have caused the brush colour to get stuck after toggling the palette a few times via the menu.
-
ROOL authored
Detail: Changing the Colour window layout in choices would immediately affect all open colour windows, and not redraw them. The corrected behaviour keeps the colour choice on a per psprite basis, so only newly opened Colours follow the choices (in common with the other choices).
-
ROOL authored
Detail: Certain colours on a 256-colour sprite were appearing wrong when brush painting at reduced opacity. For example, the grey colour 208 appeared blueish. This was caused by a sign propagation problem in colours_entry_from_gcol().
-
- 30 Aug, 2021 1 commit
-
-
ROOL authored
Detail: Previously, when using Ctrl + scrollwheel to zoom out it's possible for the window to shrink and no longer lie under the mouse, meaning you have to keep chasing it around the screen. The code now attempts to keep the same pixel under the mouse pointer first with the scroll bars and then by moving the window if that's insufficient, but it avoids moving window furniture off the edges of the screen. Zooming initiated by keyboard, mouse wheel or magnifier keeps the window the same size and shape whenever possible. Zoom in coarse steps in the form x:1 or 1:x is now possible by Ctrl-Shift-resize. Admin: Ref https://www.riscosopen.org/forum/forums/8/topics/2146?page=21#posts-99304 Submmission for Paint bounty. Version 2.44. Tagged as 'Paint-2_44'
-
- 21 Aug, 2021 2 commits
-
-
ROOL authored
Detail: The shortcuts F4 (Scale X), Shift-F4 (Scale Y) and Ctrl-H (Shear) could not be cancelled. Pressing ESC (or clicking outside the window) performs the action as if you had pressed Enter, which is not the case if reached via the menus. Admin: Ref: https://www.riscosopen.org/forum/forums/4/topics/16541#posts-124210 Version 2.43. Tagged as 'Paint-2_43'
-
ROOL authored
Detail: Hide the scrollbar under the brushes if the pane is narrow enough to show all. Remove excess space after interactive help token.
-
- 07 Jul, 2021 1 commit
-
-
ROOL authored
Detail: A visual brush 'palette' now makes it easy to see the internal shapes or chosen sprite. More clear brush tool window layout. Adds an opacity slider. Tint of a sprite using the currently selected colour using a ColourTrans transfer function. Use alpha channel sprite as the brush sprite. Fix to colours_entry() in Colours.c for 16M colour sprites. Notes - The non-100% opacity features are disabled if supporting modules are missing/too old. Translucent painting is performed into an off screen buffer, then the result merged onto the sprite once the mouse is idle. Admin: Submission for Paint bounty. Version 2.42. Tagged as 'Paint-2_42'
-
- 12 May, 2021 3 commits
-
-
ROOL authored
Detail: Precalculate the source and destination pixel addresses at the top of the loop. Combine BGR and RGB for 16bpp sprites by means of a component swap at the output step. Together, saves approx 300 bytes, and lots of repeated address calculations. Actively reject non-RGB family sprites; Paint doesn't support these more generally. Version 2.41. Tagged as 'Paint-2_41'
-
ROOL authored
Detail: Missing handlers for RGB (versus BGR) sprites. Fix for dropping of rightmost column in some 1bpp test sprites. Improve colour dynamic range exported for 4k/32k/64k images (no longer shifts in 0's). Admin: Submission for PNG bounty.
-
ROOL authored
-
- 01 May, 2021 2 commits
-
-
ROOL authored
Detail: Buffer overflow fix for certain 24bpp + alpha sprites Ref: https://www.riscosopen.org/forum/forums/8/topics/2146?page=24#posts-121254 Attempt to write invalid output when 8bpp paletted + alpha sprite, 8bpp with per-pixel alpha is not a combination PNG allows, so this is now upscaled to 24bpp + alpha first Ref: https://www.riscosopen.org/forum/forums/5/topics/16425?page=1#posts-121264 Admin: Submission for PNG bounty. Version 2.40. Tagged as 'Paint-2_40'
-
ROOL authored
-
- 21 Apr, 2021 1 commit
-
-
ROOL authored
Detail: Alongside the familiar Sprite save box, there are now options to convert to PNG or JPEG too. Both exporters offer (simplified) sub options to determine the compression level. Export is disabled in the event that the supporting modules CompressJPEG or CompressPNG are missing. Updated interactive help messages and menus, templates for the new save as dialogues. Admin: Submission for PNG bounty. Version 2.39. Tagged as 'Paint-2_39'
-
- 10 Apr, 2021 1 commit
-
-
Andy Vawer authored
Detail: Look at the Message_ClaimEntity flags and only release the clipboard if it's a clipboard claim, not if the caret flags are set. Version 2.38. Tagged as 'Paint-2_38'
-
- 10 Aug, 2020 1 commit
-
-
Robert Sprowson authored
The call to cnp_drag_restart_dragbox() needs the window member of current_drag_op set up, but was being used before it's set. Since the struct is memset to 0 before use, don't bother with the static initialiser. Version 2.37. Tagged as 'Paint-2_37'
-
- 04 Jul, 2020 2 commits
-
-
Jeffrey Lee authored
Starting with USBDriver 1.30, the scrollwheel is now handled in a sensible manner, so there's no longer any need to ignore four out of every five wheel events. Version 2.36. Tagged as 'Paint-2_36'
-
Jeffrey Lee authored
As documented in PRM5A, RISC OS 3.5 doesn't support new-format sprites which have masks. Update the sprite info dialogue "compatibility" field to reflect this, reporting that the sprite is compatible with RISC OS 3.6 instead.
-
- 23 May, 2020 1 commit
-
-
Robert Sprowson authored
Messages/Templates: Extra interactive help, new menu templates, new choices dialogue. PaintChoice.c/h: New source file to handle the choices dialogue, also added to Makefile. Main.c/h: Transfer ownership of initial_options to PaintChoice.c. Delete setting & parsing of Paint$Options. Export - and constify - Matches() for use elsewhere. Define MAXZOOMFACTOR and replace 999's elsewhere. Menus.c: Remove advanced options menu, these are now in choices. MenuD.h: Defines for the iconbar menu, remove advanced options menu. Version 2.35. Tagged as 'Paint-2_35'
-
- 09 May, 2020 3 commits
-
-
ROOL authored
Detail: * Fix for 2 colours being editing when the palette is in artist friendly view * Disabled 'Rearrange user palette' option by default to keep confusion to a minimum * Remove ^P shortcut for 'Edit palette' which could cause a submenu error in some situations Admin: Submission for Paint bounty. Version 2.34. Tagged as 'Paint-2_34'
-
ROOL authored
Detail: Implements a wrap option to the 'Move Sprite' tool, enabled via a check box. Code sharing with the camera/scissor tool via copy_to_temporary_sprite() and delete_temporary_sprite(). Admin: Submission for the Paint bounty. Version 2.33. Tagged as 'Paint-2_33'
-
ROOL authored
Detail: Longstanding bug where use of the camera or scissor tool in Export mode with 'new' 1bpp mask sprites didn't work. Change to use SpriteExtend's scaled mask op. Ref: https://www.riscosopen.org/tracker/tickets/481 Admin: Submission for Paint bounty.
-
- 06 Apr, 2020 1 commit
-
-
Andy Vawer authored
Send Wimp message to correct destination icon rather than the iconbar window. Version 2.32. Tagged as 'Paint-2_32'
-
- 29 Feb, 2020 1 commit
-
-
Robert Sprowson authored
A check (marked DF-300) rejected any attempt to load a palette into a new (ie. RISC OS 3.50+) style sprite. This is bogus because bbc_modevar() is perfectly happy to process a sprite mode word and return Log2bpp, which is all that was required. Confirmed on RISC OS 3.50 with SYS"OS_ReadModeVariable",&202D0169,9 TO,,log2bpp which gives 3 for a 256 colour 180dpi sprite. Ref: https://www.riscosopen.org//forum/forums/4/topics/14966 Second, a logic error introduced in Paint-2_26 meant that loading from a file any 256 entry palette (old or new sprite) would result in the palette being reset to the kernel default. This is because there are 2 callers of menus_set_palette() with non-NULL palette pointers, but only 1 wants a default palette. Signal this case by passing -256 entries. Version 2.31. Tagged as 'Paint-2_31'
-
- 28 Dec, 2019 1 commit
-
-
ROOL authored
Detail: Move the menu entry tokens out of the !Help messages section so they don't get tokenised. Admin: Submission for the Paint bounty. Version 2.30. Not tagged
-
- 17 Dec, 2019 6 commits
-
-
ROOL authored
Detail: Previously a small (eg. 100x100) sprite being * zoomed in until it fills the screen * zoom 1:1 * zoom in again would lead to a large black border in width as the sprite grew, but not in height. Now ensures the width is clamped to the minimum sprite width. Admin: Submission for the Paint bounty. Version 2.30. Tagged as 'Paint-2_30'
-
ROOL authored
Detail: The colour panel swatch was being redrawn unnecessarily on every open window request due to not knowing whether the furniture icons had changed size. Now, only recalculate the sizes and force a redraw on a mode change event, this eliminates the flicker when moving the sprite window around. Admin: Submission for the Paint bounty.
-
ROOL authored
Detail: Edge Adjustment of the left edge on Adjust size was broken due to copy/paste error. Admin: Submission for the Paint bounty.
-
ROOL authored
Detail: Now that there a popup menus on the create sprite window, it can't be used as a menu dialogue (because the Wimp only allows one window) from a submenu arrow. Change the menu entry to add an ellipsis and open it as a plain dialogue window. Admin: Submission for the Paint bounty.
-
ROOL authored
Detail: In the create sprite dialogue the menus for colour/palette didn't open in the right place. Compute the offset as the Style Guide recommends. Admin: Submission for the Paint bounty.
-
ROOL authored
Detail: Promoted the colour panel variables used to store dimensions based off the window furniture sizes to use ints instead of chars as they could, at least theoretically, exceed 255 OS units on a custom desktop. Admin: Submission for the Paint bounty.
-
- 14 Dec, 2019 1 commit
-
-
ROOL authored
Detail: * If the source sprite has an old-style bit mask, solid pixels in the exported sprite's mask may have a different value to the source sprite's. For example 0xFF -> 0xFC. * The OS seems to render such intermediate mask values inconsistently. Applicable GCOL commands have now replaced with OS_SetColour calls (taken from another fix elsewhere in the code that dates back to Acorn). Admin: See also https://www.riscosopen.org/forum/forums/4/topics/14698 Submission for the Paint bounty. Version 2.29. Tagged as 'Paint-2_29'
-
- 26 Sep, 2019 2 commits
-
-
ROOL authored
Detail: Remapping would never occur if the confirmation box was disabled. Admin: Submission for the Paint bounty. Version 2.28. Not tagged
-
ROOL authored
Detail: * Menus rearranged so "Advanced" is renamed "Palette options"; "Extra click for input focus" moved to the Paint menu. * The "Highlight background colour" menu option has been removed to simplify the interface. * To address all the differences of opinion around the artist-friendly palette arrangement, the default behaviour is to not show the confirmation dialogue box plus a further menu option "Rearrange user palettes" (ticked by default). If the latter's unticked, the remapping to artist-friendly (upon Edit palette) will never take place; if it's ticked, the remapping will always take place except when the confirmation box is enabled and the user clicks Default. * Greyed out palette options when there's not a full/default 256-colour palette, as appropriate. * Help text updated to reflect these changes. Admin: Submission for the Paint bounty. Version 2.28. Tagged as 'Paint-2_28'
-
- 22 Sep, 2019 1 commit
-
-
ROOL authored
Detail: * Sprite editor windows gain input focus on first click (there's an option to disable this behaviour too) * Zoom with Ctrl+resize window (in addition to Ctrl+Scrollwheel already implemented) * Key shortcuts in Sprite editor windows Admin: Submission for the Paint bounty. Version 2.27. Tagged as 'Paint-2_27'
-
- 25 Aug, 2019 1 commit
-
-
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. Version 2.26. Tagged as 'Paint-2_26'
-
- 17 Aug, 2019 1 commit
-
-
ROOL authored
Long standing disable of idle events when they are needed. Steps to recreate: * Create a sprite with a palette * Paint a little with any brush tool * Go to Paint > Edit palette to open the colour picker (ensuring that the menu tree, the mouse, and the colour picker are within the bounds of the sprite view being painted) * Collapse the menu tree and carry on painting with the brush tool The brush tool now only produces output on click, not drag. This is because the idle events are no longer enabled, they were lost in merely opening the picker. "oh god a sprite window's gone walkies" observed in trace during development. Triggered when sprwindow_delete() is called when there's only one sprite window and you close it. This is because of an earlier change which commented out beforeus = /*(main_sprite_window *) &*/us->sprite->windows; The additional addressof operation would have introduced one extra iteration to the loop that followed (with the beforeus->link variable at offset 0, it would just dereference the pointer on the first iteration). Now the case of beforeus == us is explicitly checked. Submission for the Paint bounty. Version 2.25. Tagged as 'Paint-2_25'
-