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 &copie; 2002-2021 par divers contributeurs; voir AUTHORS.
http://www.tuxpaint.org/
mai 31, 2021
septembre 6, 2021
----------------------------------------------------------------------
@ -230,17 +230,27 @@ Pinceaux
Ajoute une ligne contenant le mot "directional" au fichier de
données brosse.
Pinceaux animés orientables
Rotating Brushes
Vous pouvez mélanger animation et orientation dans un même pinceau.
Utilisez les deux options ("frames=N" et "directional") en deux
lignes séparées dans le fichier ".dat" qui concerne le pinceau.
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.
Disposez le pinceau de manière à ce que chaque ensemble 3x3 de
formes orientables soit disposé sur une grande image PNG. Par
exemple, si le pinceau mesure 30x30 et qu'il y a 5 cadres, ce sera
450x90. (Les 150x90 pixels les plus à gauche de l'image représentent
les 9 formes de direction pour la première image, par exemple).
Ajoute une ligne contenant le mot "rotate" au fichier de données
brosse.
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.)
Placez les PNG de l'image du pinceau (et tous les fichiers texte de
données) dans le répertoire "brushes".

View file

@ -36,10 +36,11 @@ Exigences
(libSDL), une bibliothèque de programmation multimédia Open Source
disponible sous la Licence publique générale limitée GNU (LGPL).
Avec libSDL, Tux Paint dépend d'un certain nombre d'autres
bibliothèques SDL : SDL_Image (pour les fichiers graphiques), SDL_TTF
et (en option) SDL_Pango (pour la prise en charge des polices True
Type) et, éventuellement, SDL_Mixer (pour les effets sonores).
Along with libSDL, Tux Paint depends on a number of other SDL 'helper'
libraries: SDL_Image (for graphics files), SDL_gfx (for some graphical
functions, like rotation), SDL_TTF and (optionally) SDL_Pango (for
True Type Font support) and, optionally, SDL_Mixer (for sound
effects).
Utilisateurs de Linux/Unix :
@ -49,6 +50,9 @@ Exigences
* libSDL: http://www.libsdl.org/
* SDL_Image: http://www.libsdl.org/projects/SDL_image/
* SDL_gfx:
https://www.ferzkopp.net/wordpress/2016/01/02/sdl_gfx-sdl2_gfx/
(https://sourceforge.net/projects/sdlgfx/)
* SDL_TTF: http://www.libsdl.org/projects/SDL_ttf/
* SDL_Pango: http://sourceforge.net/projects/sdlpango/ (optionnel)
* SDL_Mixer: http://www.libsdl.org/projects/SDL_mixer/ (optionnel)

View file

@ -26,7 +26,7 @@
</p>
<p>
mai 31, 2021 </p>
septembre 6, 2021 </p>
</center>
<hr size="2"
@ -367,14 +367,25 @@
</blockquote>
<h4>
Pinceaux animés orientables </h4>
Rotating Brushes </h4>
<blockquote>
<p>
Vous pouvez mélanger animation et orientation dans un même pinceau. Utilisez les deux options ("<code><b>frames=<i>N</i></b></code>" et "<code><b>directional</b></code>") en deux lignes séparées dans le fichier "<code>.dat</code>" qui concerne le pinceau. </p>
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. </p>
<p>
Disposez le pinceau de manière à ce que chaque ensemble 3x3 de formes orientables soit disposé sur une grande image PNG. Par exemple, si le pinceau mesure 30x30 et qu'il y a 5 cadres, ce sera 450x90. (Les 150x90 pixels les plus à gauche de l'image représentent les 9 formes de direction pour la première image, par exemple). </p>
Ajoute une ligne contenant le mot "<code><b>rotate</b></code>" au fichier de données brosse. </p>
</blockquote>
<h4>
Animated Directional or Rotating Brushes </h4>
<blockquote>
<p>
You may mix both animated and either directional or rotating features into one brush. Use both options desired ("<code><b>frames=<i>N</i></b></code>" and "<code><b>directional</b></code>" or "<code><b>rotate</b></code>"), in separate lines in the brush's "<code>.dat</code>" file. </p>
<p>
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.) </p>
</blockquote>
</blockquote>

View file

@ -107,7 +107,7 @@
Tux Paint nécessite la bibliothèque de couches DirectMedia simple (libSDL), une bibliothèque de programmation multimédia Open Source disponible sous la Licence publique générale limitée GNU (LGPL). </p>
<p>
Avec libSDL, Tux Paint dépend d'un certain nombre d'autres bibliothèques SDL : SDL_Image (pour les fichiers graphiques), SDL_TTF et (en option) SDL_Pango (pour la prise en charge des polices True Type) et, éventuellement, SDL_Mixer (pour les effets sonores). </p>
Along with libSDL, Tux Paint depends on a number of other SDL 'helper' libraries: SDL_Image (for graphics files), SDL_gfx (for some graphical functions, like rotation), SDL_TTF and (optionally) SDL_Pango (for True Type Font support) and, optionally, SDL_Mixer (for sound effects). </p>
<h4>Utilisateurs de Linux/Unix :</h4>
<blockquote>
@ -116,6 +116,7 @@
<ul>
<li>libSDL: <a href="http://www.libsdl.org/">http://www.libsdl.org/</a></li>
<li>SDL_Image: <a href="http://www.libsdl.org/projects/SDL_image/">http://www.libsdl.org/projects/SDL_image/</a></li>
<li>SDL_gfx: <a href="https://www.ferzkopp.net/wordpress/2016/01/02/sdl_gfx-sdl2_gfx/">https://www.ferzkopp.net/wordpress/2016/01/02/sdl_gfx-sdl2_gfx/</a> (<a href="https://sourceforge.net/projects/sdlgfx/">https://sourceforge.net/projects/sdlgfx/</a>)</li>
<li>SDL_TTF: <a href="http://www.libsdl.org/projects/SDL_ttf/">http://www.libsdl.org/projects/SDL_ttf/</a></li>
<li>SDL_Pango: <a href="http://sourceforge.net/projects/sdlpango/">http://sourceforge.net/projects/sdlpango/</a> (optionnel)</li>
<li>SDL_Mixer: <a href="http://www.libsdl.org/projects/SDL_mixer/">http://www.libsdl.org/projects/SDL_mixer/</a> (optionnel)</li>