thenickdude / chickenpaint

An HTML5 Port of the ChibiPaint multi-layer Oekaki painting tool
GNU General Public License v3.0
117 stars 21 forks source link

Small screen mode for palettes #34

Closed blurymind closed 3 years ago

blurymind commented 3 years ago

This PR introduces a new small screen mode for the GUI to make it easier to use on smartphones

When on small screen:

Peek 2021-05-24 20-48

I also added palette toggle buttons that will show up in place of that giant Chickenpaint text when on small screens: image

they do the same thing the palettes menu in the dropdown does but in a single click instead of three clicks. It would be nice if they get icons of course, for now they are using the mnemonic single letter.

(Tested on a Galaxy note 10 smartphone, does improve the drawing experience a lot as it makes the widgets get out of the way of the canvas as well as making them easier to quickly access and dismiss/close)

closes https://github.com/thenickdude/chickenpaint/issues/32

thenickdude commented 3 years ago

Thanks! I'm currently working on merging this with new global full-screen and small-screen handling

blurymind commented 3 years ago

thanks, no worries :) thank you for looking into this.

Btw I can simplify the pr so it doesnt do the palette collapse feature if you want to. To me being able to have those quick access header buttons for easy access makes a huge difference already

thenickdude commented 3 years ago

I've merged and published this now! Thanks for the PR!

I made a bunch of improvements to palette layout that should make it a lot nicer to use on small screens.

I've updated the example page so you can try it out there, it goes fullscreen automatically on small screens due to the fullScreenMode: "auto" setting provided:

https://thenickdude.github.io/chickenpaint-example/

blurymind commented 3 years ago

thank you for working on this :) It would be nice if some (like the tool selector) can be automatically dismissed when used, but this is already a huge upgrade for mobile screens