WIP Rotational brushes now supported

Unlike "directional" brushes, in which a 3x3 grid representing the
8 cardinal directions (45 degree steps) is used, only a single brush
image is required, and Tux Paint will rotate it between 0 and 360 degrees,
depending on the direction the mouse is going.

The brush's ".dat" file should contain a line consisting of the word
"rotate".

Note: This adds a dependency on "SDL_gfx" library (Homepage:
https://www.ferzkopp.net/wordpress/2016/01/02/sdl_gfx-sdl2_gfx/
SourceForge project page: https://sourceforge.net/projects/sdlgfx/)
as this feature use it's "rotozoom" functionality.

WIP -- Doesn't handle animated brushes correctly yet!

Closes https://sourceforge.net/p/tuxpaint/feature-requests/122/
This commit is contained in:
Bill Kendrick 2021-09-06 23:44:35 -07:00
parent 8a97e83a7b
commit a3080eef18
27 changed files with 316 additions and 110 deletions

View file

@ -5,7 +5,7 @@
Copyright © 2002-2021 by various contributors; see AUTHORS.
http://www.tuxpaint.org/
mayo 31, 2021
septiembre 6, 2021
----------------------------------------------------------------------
@ -212,17 +212,26 @@ Brushes
Add a line containing the word "directional" to the brush's data
file.
Animated Directional Brushes
Rotating Brushes
You may mix both animated and directional features into one brush.
Use both options ("frames=N" and "directional"), in separate lines
in the brush's ".dat" file.
As of Tux Paint version 0.9.27, you may now create rotating brushes.
As the brush is used, it is rotated 360 degrees, depending on the
direction the brush is going.
Lay the brush out so that each 3x3 set of directional shapes are
laid out across a wide PNG image. For example, if the brush is 30x30
and there are 5 frames, it would be 450x90. (The leftmost 150x90
pixels of the image represent the 9 direction shapes for the first
frame, for example.)
Add a line containing the word "rotate" to the brush's data file.
Animated Directional or Rotating Brushes
You may mix both animated and either directional or rotating
features into one brush. Use both options desired ("frames=N" and
"directional" or "rotate"), in separate lines in the brush's ".dat"
file.
For directional brushes, lay the brush out so that each 3x3 set of
directional shapes are laid out across a wide PNG image. For
example, if the brush is 30x30 and there are 5 frames, it would be
450x90. (The leftmost 150x90 pixels of the image represent the 9
direction shapes for the first frame, for example.)
Place the brush image PNGs (and any data text files) in the "brushes"
directory.