home.social

#deluxedraw — Public Fediverse posts

Live and recent posts from across the Fediverse tagged #deluxedraw, aggregated by home.social.

fetched live
  1. I extracted the Sinclair font from a Spectrum ROM and generated a .bdf file from it that I can use with Deluxe Draw and any other program that supports the bdf format 🙂

    UPDATE:
    Here is my updated repo with sinclair.bdf and many other fonts.
    github.com/ha1tch/bdf-fonts/tr

    #ZXSpectrum #Spectrum #Speccy #DeluxeDraw #retrocomputing

  2. I extracted the Sinclair font from a Spectrum ROM and generated a .bdf file from it that I can use with Deluxe Draw and any other program that supports the bdf format 🙂

    UPDATE:
    Here is my updated repo with sinclair.bdf and many other fonts.
    github.com/ha1tch/bdf-fonts/tr

    #ZXSpectrum #Spectrum #Speccy #DeluxeDraw #retrocomputing

  3. guiscii

    Draw UI in plain text → get working Deluxe UI widgets.

    Introducing guiscii: Look mum, no XML!!! Refocusing now to improve the GUI code so I can ship proper UIs in my tools.

    #gui #deluxedraw #deluxeui #foss #golang #guiscii

  4. guiscii

    Draw UI in plain text → get working Deluxe UI widgets.

    Introducing guiscii: Look mum, no XML!!! Refocusing now to improve the GUI code so I can ship proper UIs in my tools.

    #gui #deluxedraw #deluxeui #foss #golang #guiscii

  5. Studying palette icons in Deluxe Paint and Photoshop. It's about time that Deluxe Draw gets rid of its text-based buttons.

    #pixelart #DeluxeDraw #DeluxeUI

  6. Studying palette icons in Deluxe Paint and Photoshop. It's about time that Deluxe Draw gets rid of its text-based buttons.

    #pixelart #DeluxeDraw #DeluxeUI

  7. This is another prototype where I'm putting together some of the earliest optimised canvas drawing I had written for the first Deluxe Draw version (last month), I replaced the bespoke hardcoded GUI elements with Deluxe UI widgets (newly written, in the last couple of weeks), and re-implemented parts of (last week's) ZX Draw code example I had written for Deluxe UI.

    In theory, if this experiment succeeds, I should be able to deliver a Deluxe Draw that is able to work with both, modern layered pixmap painting, and with old ZX Spectrum mode painting. And with Deluxe UI running unmodified on Mac, Linux, and Windows!

    So far, so good!

    #ZXSpectrum #Spectrum #Speccy #DeluxeDraw #DeluxeUI #pixelart #golang #foss

  8. This is another prototype where I'm putting together some of the earliest optimised canvas drawing I had written for the first Deluxe Draw version (last month), I replaced the bespoke hardcoded GUI elements with Deluxe UI widgets (newly written, in the last couple of weeks), and re-implemented parts of (last week's) ZX Draw code example I had written for Deluxe UI.

    In theory, if this experiment succeeds, I should be able to deliver a Deluxe Draw that is able to work with both, modern layered pixmap painting, and with old ZX Spectrum mode painting. And with Deluxe UI running unmodified on Mac, Linux, and Windows!

    So far, so good!

    #ZXSpectrum #Spectrum #Speccy #DeluxeDraw #DeluxeUI #pixelart #golang #foss

  9. Not much to report. Working on a new attempt to reconcile the Deluxe Draw prototype I had written earlier with the second prototype of a ZX Spectrum painting program, fusing both into a single concept. I made a little progress today!

    #DeluxeUI #DeluxeDraw

  10. Not much to report. Working on a new attempt to reconcile the Deluxe Draw prototype I had written earlier with the second prototype of a ZX Spectrum painting program, fusing both into a single concept. I made a little progress today!

    #DeluxeUI #DeluxeDraw

  11. Also, this is the Deluxe UI demo program in the 'examples' folder called "w98", which aims to offer a custom theme that looks like Windows 98, this time running on Linux too.

    #DeluxeUI #DeluxeDraw #foss #golang #w98

  12. Also, this is the Deluxe UI demo program in the 'examples' folder called "w98", which aims to offer a custom theme that looks like Windows 98, this time running on Linux too.

    #DeluxeUI #DeluxeDraw #foss #golang #w98

  13. Deluxe UI with ZX Draw on Linux, and a native host OS dialog box that actually works!

    Ensuring that the toolkit works across all three major desktop GUIs may not look like much if you're coming from Electron-world but it does matter a lot that this is just a small self-contained binary with minimal OpenGL dependencies (also no JVM, .NET CLR, GTK or QT needed).

    At least to me it does matter! This gives me more confidence that I can actually write competent desktop GUI stuff and complete #DeluxeDraw for general pixel art as intended, and maybe the Postman substitute "Getman" as well (especially without massive Electron / Chrome / Node dependencies)

    #ZXDraw #ZXSpectrum #Speccy #DeluxeUI #DeluxeDraw #golang #foss #NOELECTRON

  14. Deluxe UI with ZX Draw on Linux, and a native host OS dialog box that actually works!

    Ensuring that the toolkit works across all three major desktop GUIs may not look like much if you're coming from Electron-world but it does matter a lot that this is just a small self-contained binary with minimal OpenGL dependencies (also no JVM, .NET CLR, GTK or QT needed).

    At least to me it does matter! This gives me more confidence that I can actually write competent desktop GUI stuff and complete #DeluxeDraw for general pixel art as intended, and maybe the Postman substitute "Getman" as well (especially without massive Electron / Chrome / Node dependencies)

    #ZXDraw #ZXSpectrum #Speccy #DeluxeUI #DeluxeDraw #golang #foss #NOELECTRON

  15. Minor rendering problems on Linux and Windows, tested on actual running machines. These errors have already been fixed on Mac. Only need to port the fixes. It ports!!

    #DeluxeUI #DeluxeDraw #Getman #foss #golang

  16. Minor rendering problems on Linux and Windows, tested on actual running machines. These errors have already been fixed on Mac. Only need to port the fixes. It ports!!

    #DeluxeUI #DeluxeDraw #Getman #foss #golang

  17. Alright, painting, saving, and loading works now. Still fixing some menu problems with the z-order.

    #DeluxeDraw #pixelart #foss #ZXSpectrum #Speccy #Spectrum #golang

  18. Alright, painting, saving, and loading works now. Still fixing some menu problems with the z-order.

    #DeluxeDraw #pixelart #foss #ZXSpectrum #Speccy #Spectrum #golang

  19. Just for fun another little throwaway app that has helped me to find some problems with the menu system (they're not always observing the z-order, as you can see in the screenshot).

    So far it seems that you can actually build a working app using this, save for minor details. OS host integration is almost working too. All in all a great experiment to wrap another Deluxe Draw work day!

    #golang #foss #zxspectrum #speccy #spectrum #pixelart #DeluxeDraw

  20. Just for fun another little throwaway app that has helped me to find some problems with the menu system (they're not always observing the z-order, as you can see in the screenshot).

    So far it seems that you can actually build a working app using this, save for minor details. OS host integration is almost working too. All in all a great experiment to wrap another Deluxe Draw work day!

    #golang #foss #zxspectrum #speccy #spectrum #pixelart #DeluxeDraw

  21. It kind of makes sense for creative apps like a pixel art tool to be able to pick colours. I'm not sure I would do a good job of coming up with a competent replacement to be honest.

    This is exactly where some host OS components make sense.

    #DeluxeDraw #golang #foss

  22. It kind of makes sense for creative apps like a pixel art tool to be able to pick colours. I'm not sure I would do a good job of coming up with a competent replacement to be honest.

    This is exactly where some host OS components make sense.

    #DeluxeDraw #golang #foss

  23. Experimenting with native OS integration of Deluxe Draw for stuff that makes sense to offload to the host OS.

    We already have OS dialog boxes, and they already work just fine, but I'm considering whether it makes sense to integrate other parts too, like modal windows and system menus, on certain hosts.

    #DeluxeDraw #foss #golang

  24. Experimenting with native OS integration of Deluxe Draw for stuff that makes sense to offload to the host OS.

    We already have OS dialog boxes, and they already work just fine, but I'm considering whether it makes sense to integrate other parts too, like modal windows and system menus, on certain hosts.

    #DeluxeDraw #foss #golang

  25. If you so choose, you can use ASCII palette indices in DPF files, just like you would in XPM files. But in DPF there's no reason you wouldn't use any Unicode codepoint for palette indices. In fact, if you use coloured square emojis instead of plain ASCII characters,.
    If you do it that way, when you cat a .dpf file with icons, what you will get will be... oh surprise!

    ...icons!

    #DeluxeDraw #pixelart #foss #golang #xpm #dpf #bdf

  26. If you so choose, you can use ASCII palette indices in DPF files, just like you would in XPM files. But in DPF there's no reason you wouldn't use any Unicode codepoint for palette indices. In fact, if you use coloured square emojis instead of plain ASCII characters,.
    If you do it that way, when you cat a .dpf file with icons, what you will get will be... oh surprise!

    ...icons!

    #DeluxeDraw #pixelart #foss #golang #xpm #dpf #bdf

  27. Now I'm thinking how to reconcile the typical layered pixmap editor that Deluxe Draw aims to implement with the ZX Spectrum colour model.

    That would require the editor to support layers of different resolutions:

    1. background plane with attributes (32 x 24)
    2. bitmap plane on top (256x192) acquiring colours from the attribute layer underneath.

    It could conceivably be construed as a blend mode of sorts. That might possibly work.

    The blend mode seems doable, the different resolutions per layer is more tricky or possibly hacky.

    #DeluxeDraw #foss #golang #pixelart

  28. Now I'm thinking how to reconcile the typical layered pixmap editor that Deluxe Draw aims to implement with the ZX Spectrum colour model.

    That would require the editor to support layers of different resolutions:

    1. background plane with attributes (32 x 24)
    2. bitmap plane on top (256x192) acquiring colours from the attribute layer underneath.

    It could conceivably be construed as a blend mode of sorts. That might possibly work.

    The blend mode seems doable, the different resolutions per layer is more tricky or possibly hacky.

    #DeluxeDraw #foss #golang #pixelart

  29. It kind of works. Obviously this is not Deluxe Draw itself, but a little icon editor I hacked together quickly, I just couldn't stand all the palette buttons with only text.

    As a welcome side effect, the DPF file format used for icons will be the same format I'm going to use for Deluxe Draw palettes. A palette file is a DPF file that only has palette information and no pixels in it. If you think of it for a moment, it makes you question why nobody else did it the right way before.

    Palettes are metadata about pixels. There's no good reason to create palette file formats, palettes are part of the same thing.

    #DeluxeDraw #golang #foss #pixelart

  30. It kind of works. Obviously this is not Deluxe Draw itself, but a little icon editor I hacked together quickly, I just couldn't stand all the palette buttons with only text.

    As a welcome side effect, the DPF file format used for icons will be the same format I'm going to use for Deluxe Draw palettes. A palette file is a DPF file that only has palette information and no pixels in it. If you think of it for a moment, it makes you question why nobody else did it the right way before.

    Palettes are metadata about pixels. There's no good reason to create palette file formats, palettes are part of the same thing.

    #DeluxeDraw #golang #foss #pixelart

  31. There are two reasons why I needed to get palette handling done early on during the development of Deluxe Draw:

    1. You need palettes for themes, and you need themes for a decent GUI. If every new colour you use is an improvised hack you end up with terrible looking GUIs of the sort everyone has decided not to use.

    2. You can't have standard system icons if you don't agree on a stable palette. I needed to stabilise at least one minimal palette so I could have a regular icon format, and icons for Deluxe Draw.

    The Deluxe Pixmap Format (.dpf) is a text-based file format that is easy to read and write. The child of .xmp pixmaps and .bdf fonts. XMP pixmaps are cool but they only store one single image. BDF fonts are cool but they only store monochrome bitmaps. DPF is meant to store any number of named indexed-colour icons or glyphs.

    You can only know how these icons are going to look in another system if you guarantee a stable palette is going to be available.

    So there you go.

    #DeluxeDraw #pixelart #palette #foss #golang

  32. There are two reasons why I needed to get palette handling done early on during the development of Deluxe Draw:

    1. You need palettes for themes, and you need themes for a decent GUI. If every new colour you use is an improvised hack you end up with terrible looking GUIs of the sort everyone has decided not to use.

    2. You can't have standard system icons if you don't agree on a stable palette. I needed to stabilise at least one minimal palette so I could have a regular icon format, and icons for Deluxe Draw.

    The Deluxe Pixmap Format (.dpf) is a text-based file format that is easy to read and write. The child of .xmp pixmaps and .bdf fonts. XMP pixmaps are cool but they only store one single image. BDF fonts are cool but they only store monochrome bitmaps. DPF is meant to store any number of named indexed-colour icons or glyphs.

    You can only know how these icons are going to look in another system if you guarantee a stable palette is going to be available.

    So there you go.

    #DeluxeDraw #pixelart #palette #foss #golang

  33. ASE and ACO palettes exported from Deluxe Draw import without a hitch in Photoshop (for whoever needs that).

    #DeluxeDraw #foss #golang #pixelart

  34. ASE and ACO palettes exported from Deluxe Draw import without a hitch in Photoshop (for whoever needs that).

    #DeluxeDraw #foss #golang #pixelart

  35. Now that's a better organised Deluxe Draw palette system!

    With many thanks to @garvalf for the helpful ideas.

    #DeluxeDraw #pixelart #colour #palette #foss #golang

  36. Now that's a better organised Deluxe Draw palette system!

    With many thanks to @garvalf for the helpful ideas.

    #DeluxeDraw #pixelart #colour #palette #foss #golang

  37. This is how the tweaked Deluxe Draw palette looks like at this time.

    Thanks @garvalf for all the excellent recommendations.

    Here it is in GIMP palette format
    pastebin.com/MuezmTAr

    And here's the Go program I used to generate the files:
    pastebin.com/88WWKQ9q

    #DeluxeDraw #pixelart #colour #palette

  38. This is how the tweaked Deluxe Draw palette looks like at this time.

    Thanks @garvalf for all the excellent recommendations.

    Here it is in GIMP palette format
    pastebin.com/MuezmTAr

    And here's the Go program I used to generate the files:
    pastebin.com/88WWKQ9q

    #DeluxeDraw #pixelart #colour #palette

  39. UPDATED HERE:
    oldbytes.space/@haitchfive/114

    Request for comments:
    Do you like my 25-colour palette?
    It's meant to be used as the reference palette for the Deluxe Draw default stencils and icons.

    Let me know!

    #DeluxeDraw #pixelart #palette #color #colour

  40. UPDATED HERE:
    oldbytes.space/@haitchfive/114

    Request for comments:
    Do you like my 25-colour palette?
    It's meant to be used as the reference palette for the Deluxe Draw default stencils and icons.

    Let me know!

    #DeluxeDraw #pixelart #palette #color #colour

  41. To be honest, it may never be integrated with the main application when it's a delivered product. But it's exercises like this where you learn the most, finding out what are the limits of extensibility and what the level of pain will be like for other developers using this stuff.

    #DeluxeDraw #golang #foss #pixelart

  42. To be honest, it may never be integrated with the main application when it's a delivered product. But it's exercises like this where you learn the most, finding out what are the limits of extensibility and what the level of pain will be like for other developers using this stuff.

    #DeluxeDraw #golang #foss #pixelart

  43. Because I'm ahead of schedule I feel I am morally allowed to go down rabbit holes like... working on a Windows 98 theme for the Deluxe Draw UI toolkit... hehehehe 🤣

    #DeluxeDraw #golang #foss #pixelart

  44. Because I'm ahead of schedule I feel I am morally allowed to go down rabbit holes like... working on a Windows 98 theme for the Deluxe Draw UI toolkit... hehehehe 🤣

    #DeluxeDraw #golang #foss #pixelart

  45. Implementing OS integration stuff such as common file dialogs, system clipboard copying and pasting, and accepting desktop file drops. Some other things like using the system caret may prove more tricky, the library api has a method to inquiry system integration capabilities as they are being implemented across platforms. At this time I'm testing on Mac but I'm already preparing equivalent functionality for Windows and Linux integrations. Hopefully the Gnome/KDE divide won't be too rough.

    #DeluxeDraw #foss #golang

  46. Implementing OS integration stuff such as common file dialogs, system clipboard copying and pasting, and accepting desktop file drops. Some other things like using the system caret may prove more tricky, the library api has a method to inquiry system integration capabilities as they are being implemented across platforms. At this time I'm testing on Mac but I'm already preparing equivalent functionality for Windows and Linux integrations. Hopefully the Gnome/KDE divide won't be too rough.

    #DeluxeDraw #foss #golang

  47. Kind of nice if you start to think of it, the text editor now actually edits text. 🤣

    #DeluxeDraw #foss #golang

  48. Kind of nice if you start to think of it, the text editor now actually edits text. 🤣

    #DeluxeDraw #foss #golang