Bounty proposal: Paint
Pages: 1 2 3 4 5 6 7 8 9 10 11 12 13 ... 27
Trevor Johnson (329) 1645 posts |
Another alternative is possibly to consider changing the default behaviour so that all windows claim focus when their title bars are Select-clicked (but not for Adjust). This would take some getting used to and would ideally need to be configurable so users could disable it. It’d also introduce issues when wanting to bring a window to the front without giving it focus… which could be (perhaps clumsily) worked around by Select-clicking on the adjust size icon (if it happens to be visible). Has this sort of thing been discussed before? |
||||||||||||
Michael Drake (88) 336 posts |
Here’s a version of the mockup with a “Paint tools window” opener: It has to be things that the app draws down there, rather than bitmap icons, as the height available varies depending on the toolsprites. More importantly, we need to consider how alpha channels can be displayed and edited. We could have an “Open mask editor” menu entry which could open a 256 greys sprite representation of the alpha channel. |
||||||||||||
Michael Drake (88) 336 posts |
Even though I’ve been using it for years, I’ve never really grown familiar with the current 256 colour palette arrangement: Here’s a more artist-friendly arrangement of the standard palette display: It’s all the same colours as normal, just moved to different places. The groupings are: Grayscales (top)
Bright colours (bottom left)
Muted colours (bottom right)
Intermediate colours (upper)
Each colour section is arranged circularly by hue, with red at top left. |
||||||||||||
Steve Fryatt (216) 2103 posts |
One of the ideas suggested that I really like is the small fore/back colour swatches beside the scroll bar, though I wonder how cooperative the wimp would be in doing such a thing (the harder it is to implement, the less likely it will happen). It’s a function of the Nested Wimp, IIRC. If the pane is placed precisely over the scrollbar, I think the Wimp embeds it for you. |
||||||||||||
Ben Avison (25) 445 posts |
You need to set window flag bit 23 of a nested window to move it in front of its parent window’s furniture (title bar, scroll bars etc) – the same bit you use for top-level windows to force them to stay at the front of the window stack; it’s roughly analogous behaviour, which is why it re-used the same flag bit. The scroll bars will shuffle themselves to one side if you fully overlap one end of them. I think you can even overlap both ends with different nested windows if you really want. |
||||||||||||
Chris (121) 472 posts |
I’ve revised Trevor’s wiki page here, and formatted it as a bounty proposal. I’ve omitted any of proposals where there were significant differences of opinion, and tried to make it as simple as possible. Note that I’ve retained the idea of Spritefile windows having an input focus/key shortcuts, but not the actual editor windows. If this is also controversial, it can be removed. Is this worth submitting to ROOL for consideration? |
||||||||||||
Michael Drake (88) 336 posts |
I’ve updated the wiki page with a few more of the ideas, and clarified a few points. Does anyone think rearranging the display of the default 8-bit palette would be worthwhile? |
||||||||||||
Trevor Johnson (329) 1645 posts |
Your proposal above provides a more logical and user-friendly arrangement IMHO. |
||||||||||||
Chris (121) 472 posts |
That’s what I had in mind as part of the ‘more comprehensive palette editing’ item, but no harm in making it explicit. I do think it would be a useful feature. |
||||||||||||
Michael Drake (88) 336 posts |
More ideas:
|
||||||||||||
Jeffrey Lee (213) 6048 posts |
I’ve tweaked the page a bit as well (mainly adding mention of 4K colour sprites, and linking to a couple of bugs/forum threads). A rearranged 256 colour palette sounds like a good idea to me, although it might be a bit odd when the palette jumps between the two formats (if the new view is automatically used when the default palette is detected, imagine what happens if someone edits a standard palette and then closes and re-opens the view) One thing worth considering: RISC OS 3.5 compatibility. The disc image is 3.5 compatible, and contains a copy of !Paint for use (since 3.5 lacks a copy in ROM). So we’ll probably want to stipulate that the new paint remains RISC OS 3.5 compatible, and that the feature set that’s available on RISC OS 3.5 is no less than the set that’s currently available. E.g. because paint is so heavily dependent on the kernel/SpriteExtend, there’s no requirement to support the new sprite types. But any changes to existing tools should make sure those tools continue to work on 3.5. Making changes which require a new WindowManager should be fine, as that can easily be softloaded during the boot sequence. |
||||||||||||
Michael Drake (88) 336 posts |
If they add a palette with the new version of Paint, there’s no reason the explicit palette couldn’t be defined in the order of the new palette display, is there? |
||||||||||||
Rick Murray (539) 13806 posts |
What’s the crash on brush selection? Any mode/sprite? Circumstances? |
||||||||||||
Jeffrey Lee (213) 6048 posts |
There’s no technical reason, no. But there will be performance gains from using the standard palette where possible (not to mention the resulting sprite being Arc compatible).
I believe it’s this long-standing bug |
||||||||||||
Michael Drake (88) 336 posts |
Surely once you’ve added an explicit palette to the sprite, even if it’s in exactly the same order as the standard palette definition, you’ve already had the performance drop? |
||||||||||||
Michael Drake (88) 336 posts |
I’ve just realised that the alpha channel support with the brush tool effectively provides airbrush capability. Might be worth having some predefined generated brushes, like how the brush tool currently has some predefined shapes. |
||||||||||||
Jeffrey Lee (213) 6048 posts |
Not really. ColourTrans caches the translation tables that are generated for plotting things in palletised modes, so it should spot that the explicitly defined default palette used by the sprite matches the implicitly defined 256 colour default palette and will reuse translation tables where appropriate. For plotting in 256 colour modes using the default palette, if the caller didn’t spot that the palette/translation table wasn’t required then SpriteExtend has its own checks to detect and discard identity translation tables – so it should still be (just about) as fast as if there was no palette. Certainly a lot faster than if a custom palette was used (n.b. I haven’t timed this myself!) For plotting in true colour modes there’s effectively no difference in performance as a palette lookup will always be needed.
Yes, some kind of airbrush functionality could be nice, and shouldn’t tread on the toes of commercial image editors too much. It’s also something that could be made to work on older OS versions (alpha-masked brush sprites probably wouldn’t work on older OS’s due to the kernel not understanding them, but a simple brush opacity value would work as translucent sprite rendering can be handled by SpriteExtend+BlendTable+InverseTable softloads) |
||||||||||||
Michael Drake (88) 336 posts |
So how about this:
I’ve added a link from the wiki page. |
||||||||||||
Michael Drake (88) 336 posts |
One feature of ROL’s Paint that I did like was:
|
||||||||||||
Jeffrey Lee (213) 6048 posts |
I’m not entirely sure I like the idea of the artist-friendly default palette automatically staying artist-friendly after it’s been modified – that means it would have to remap the sprite pixels, which the user might not want to happen. It would be a bit clunky, but maybe we could add a popup which asks the user whether remapping the pixels is allowed? |
||||||||||||
Michael Drake (88) 336 posts |
It only matters when modifying the palette, and if palette editing facilities are to be expanded anyway, maybe it can just be an option in the new palette editor? |
||||||||||||
Michael Drake (88) 336 posts |
I’ve updated the bounty proposal with those brush tool ideas. Speaking of the Brush tool, I’ve always thought it was bad interface design to have to type in the sprite name to be used. Would this be possible: +-------------+ +-+ |Writeable | |M| +-------------+ +-+ Where that’s a writeable icon for sprite name entry, and there’s a gright menu opener icon next to it, which opens a menu listing all the available sprite names. Selecting one from the menu would set the text in the writeable icon. |
||||||||||||
Martin Bazley (331) 379 posts |
The brush tool used to allow you to use any sprite in the Wimp sprite pool, and indeed that was exactly how the default ‘circle’ sprite was implemented. It was perfectly reasonable to enter something like “file_fff” in there, and I’ve done it. For some reason, though, this doesn’t seem to work in the latest version. …Aaand Paint crashed while I was testing that. Yeah, not good. |
||||||||||||
Chris (121) 472 posts |
Possibly, but even that could be clumsy for spritefiles with lots of sprites, and even more so if the entire Wimp pool were available to use. I wondered about having a drop box for dragging sprites from Spritefile windows. |
||||||||||||
Michael Drake (88) 336 posts |
I don’t think the shapes, like “circle” should be actual sprites, rather they should be internally generated sprites created when you select them. At the moment “circle” becomes really pixelated when you give it 4:1 scale.
That might be better. I don’t feel it’s perfect either though. :) |
Pages: 1 2 3 4 5 6 7 8 9 10 11 12 13 ... 27