Log In  


Cart #layer_paint-14 | 2025-07-14 | Code ▽ | Embed ▽ | License: CC4-BY-NC-SA
2

Layer Paint

A simple painting program with layers.

Controls

Mouse or button mode can be selected on the Start screen.

Mouse mode

Button Function
lmb : Paint / click toolbar item
rmb : Select background color (right click on palette)
Hold ❎ : Draw straight lines
Hold 🅾️ (Z) : Quick actions popup menu
rmb : Pick color from canvas
rmb : Toggle layer visibility (right click on layer button)
⬆️⬇️ : Adjust brush size

Button mode

Button Function
: Paint / click toolbar item
🅾️ : Select background color (click on palette)
🅾️ : toggle layer visibility (on layer button)
Hold 🅾️ : Quick actions popup menu

Quick actions popup menu

Hold 🅾️ (Z) to open the popup menu. Here you can make changes without using the toolbar at the bottom of the screen, this is especially useful in "button mode".

The menu does not show up if the cursor is over the toolbar

Rearranging layers

You can rearrange the layers by using the popup menu (hold 🅾️). Select the "move to top" option within the "layer" menu, and the current layer will be moved to layer slot 3, pushing the other layers below it.
This is useful if you have created outline drawings on layer 1, and wish to color in on a lower layer.

Colors

Use the color swatches to select paint color with LMB or ❎
The background color can be selected by right clicking on the color swatch (or 🅾️ in button mode)

The last color is Transparent, and works like an eraser.

When using the transparent color as the background, a checkerboard pattern is drawn.

Tools:

The toolbar is slightly different when using button mode instead of mouse.

[8x8]
Pencil, sets brush size to 1x1
[8x8]
Brush, sets brush size to 4x4
[8x8]
Spray can, scatters paint randomly
[8x8]
Eraser, sets paint color to transparent

[8x8]
Reduce brush size
[8x8]
Increase brush size

[8x8]
Undo, hold to undo faster. 🅾️+⬅️

[8x8]
Switch layer. Right click or 🅾️ to toggle layer visibility

[8x8]
Save picture to png (without the UI)

[8x8]
Hide the UI. You can show it again from the popup menu: 🅾️+➡️

Techical details

The three layers are stored as tables in memory, not on the sprite map. That can cause some performance issues, so only a small part of the screen is updated each frame. If you move around fast, some glitched graphics can show up, but is cleared after a few frames.

When using the transparent swatch as the background, exported images still show this checkerboard pattern, not a transparent background in the png. Select another easily keyable color if you want to remove the background in another application.

Screenshots

2


Updated. You can now toggle layer visibility on/off by right clicking the layer button.
Selected tool is now highlighted.


Updated:

  • Made the brushes round
  • Fixed periodic lag due to aggressive screen refresh.
  • Removed tall and wide brush buttons.
  • Run at 60 fps for improved brushstrokes
  • Fixed eraser button not working
  • Hold X for straight lines

Updated:

  • Brush cursor is more visible
  • Color picking from canvas now only happens on visible layers

Nice little editor! I wish I could rearrange layer order and it would be nice to have a color fill bucket tool, but more importantly - undo, even if the program only remembered your last action instead of the full history because of memory constraints.


Thank you! I also want those features, and will look into good ways to make those happen.


Updated

  • Added undo. It can undo the last 1000 pixels set. If you hold the button, it undoes at a faster rate.
  • Fixed responsiveness in button mode, and prevented accidental palette clicks when moving fast

Updated

  • Added a popup menu when holding 🅾️
  • Rearranging layers is now possible through the menu
  • Bug fixes and button changes


[Please log in to post a comment]