1 /*
2   tools.h
3 
4   For Tux Paint
5   List of available tools.
6 
7   This program is free software; you can redistribute it and/or modify
8   it under the terms of the GNU General Public License as published by
9   the Free Software Foundation; either version 2 of the License, or
10   (at your option) any later version.
11 
12   This program is distributed in the hope that it will be useful,
13   but WITHOUT ANY WARRANTY; without even the implied warranty of
14   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
15   GNU General Public License for more details.
16 
17   You should have received a copy of the GNU General Public License
18   along with this program; if not, write to the Free Software
19   Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
20   (See COPYING.txt)
21 
22   Copyright (c) 2002-2020 by Bill Kendrick
23   bill@newbreedsoftware.com
24   http://www.tuxpaint.org/
25 
26   June 14, 2002 - August 15, 2020
27   $Id$
28 */
29 
30 
31 #include "tip_tux.h"
32 
33 
34 /* What tools are available: */
35 
36 enum
37 {
38   TOOL_BRUSH,
39   TOOL_STAMP,
40   TOOL_LINES,
41   TOOL_SHAPES,
42   TOOL_TEXT,
43   TOOL_LABEL,
44   TOOL_FILL,
45   TOOL_MAGIC,
46   TOOL_UNDO,
47   TOOL_REDO,
48   TOOL_ERASER,
49   TOOL_NEW,
50   TOOL_OPEN,
51   TOOL_SAVE,
52   TOOL_PRINT,
53   TOOL_QUIT,
54   NUM_TOOLS
55 };
56 
57 
58 /* Tool names: */
59 
60 const char *const tool_names[NUM_TOOLS] = {
61   // Freehand painting tool
62   gettext_noop("Paint"),
63 
64   // Stamp tool (aka Rubber Stamps)
65   gettext_noop("Stamp"),
66 
67   // Line drawing tool
68   gettext_noop("Lines"),
69 
70   // Shape creation tool (square, circle, etc.)
71   gettext_noop("Shapes"),
72 
73   // Text tool
74   gettext_noop("Text"),
75 
76   // Label tool
77   gettext_noop("Label"),
78 
79   // Fill tool
80   gettext_noop("Fill"),
81 
82   // "Magic" effects tools (blur, flip image, etc.)
83   gettext_noop("Magic"),
84 
85   // Undo last action
86   gettext_noop("Undo"),
87 
88   // Redo undone action
89   gettext_noop("Redo"),
90 
91   // Eraser tool
92   gettext_noop("Eraser"),
93 
94   // Start a new picture
95   gettext_noop("New"),
96 
97   // Open a saved picture
98   gettext_noop("Open"),
99 
100   // Save the current picture
101   gettext_noop("Save"),
102 
103   // Print the current picture
104   gettext_noop("Print"),
105 
106   // Quit/exit Tux Paint application
107   gettext_noop("Quit")
108 };
109 
110 
111 /* Some text to write when each tool is selected: */
112 
113 const char *const tool_tips[NUM_TOOLS] = {
114   // Paint tool instructions
115   gettext_noop("Pick a color and a brush shape to draw with."),
116 
117   // Stamp tool instructions
118   gettext_noop("Pick a picture to stamp around your drawing."),
119 
120   // Line tool instructions
121   gettext_noop("Click to start drawing a line. Let go to complete it."),
122 
123   // Shape tool instructions
124   gettext_noop
125     ("Pick a shape. Click to start drawing, drag, and let go when it is the size you want. Move around to rotate it, and click to draw it."),
126 
127   // Text tool instructions
128   gettext_noop
129     ("Choose a style of text. Click on your drawing and you can start typing. Press [Enter] or [Tab] to complete the text."),
130 
131   // Label tool instructions
132   gettext_noop
133     ("Choose a style of text. Click on your drawing and you can start typing. Press [Enter] or [Tab] to complete the text. By using the selector button and clicking an existing label, you can move it, edit it and change its text style."),
134 
135   // Fill tool instructions
136   gettext_noop("Click in the picture to fill that area with color."),
137 
138   // Magic tool instruction
139   gettext_noop("Pick a magical effect to use on your drawing!"),
140 
141   // Response to 'undo' action
142   gettext_noop("Undo!"),
143 
144   // Response to 'redo' action
145   gettext_noop("Redo!"),
146 
147   // Eraser tool
148   gettext_noop("Eraser!"),
149 
150   // Response to 'start a new image' action
151   gettext_noop("Pick a color or picture with which to start a new drawing."),
152 
153   // Response to 'open' action (while file dialog is being constructed)
154   gettext_noop("Open…"),
155 
156   // Response to 'save' action
157   gettext_noop("Your image has been saved!"),
158 
159   // Response to 'print' action (while printing, or print dialog is being used)
160   gettext_noop("Printing…"),
161 
162   // Response to 'quit' (exit) action
163   gettext_noop("Bye bye!")
164 };
165 
166 // Instruction while using Line tool (after click, before release)
167 #define TIP_LINE_START gettext_noop("Let go of the button to complete the line.")
168 
169 // Instruction while using Shape tool (after first click, before release)
170 #define TIP_SHAPE_START gettext_noop("Hold the button to stretch the shape.")
171 
172 // Instruction while finishing Shape tool (after release, during rotation step before second click)
173 #define TIP_SHAPE_NEXT gettext_noop("Move the mouse to rotate the shape. Click to draw it.")
174 
175 // Notification that 'New' action was aborted (current image would have been lost)
176 #define TIP_NEW_ABORT gettext_noop("OK then… Let’s keep drawing this one!")
177 
178 
179 /* Tool icon filenames: */
180 
181 const char *const tool_img_fnames[NUM_TOOLS] = {
182   DATA_PREFIX "images/tools/brush.png",
183   DATA_PREFIX "images/tools/stamp.png",
184   DATA_PREFIX "images/tools/lines.png",
185   DATA_PREFIX "images/tools/shapes.png",
186   DATA_PREFIX "images/tools/text.png",
187   DATA_PREFIX "images/tools/label.png",
188   DATA_PREFIX "images/tools/fill.png",
189   DATA_PREFIX "images/tools/magic.png",
190   DATA_PREFIX "images/tools/undo.png",
191   DATA_PREFIX "images/tools/redo.png",
192   DATA_PREFIX "images/tools/eraser.png",
193   DATA_PREFIX "images/tools/new.png",
194   DATA_PREFIX "images/tools/open.png",
195   DATA_PREFIX "images/tools/save.png",
196   DATA_PREFIX "images/tools/print.png",
197   DATA_PREFIX "images/tools/quit.png"
198 };
199 
200 
201 /* Tux icons to use: */
202 
203 const int tool_tux[NUM_TOOLS] = {
204   TUX_DEFAULT,
205   TUX_DEFAULT,
206   TUX_DEFAULT,
207   TUX_DEFAULT,
208   TUX_DEFAULT,
209   TUX_DEFAULT,
210   TUX_DEFAULT,
211   TUX_DEFAULT,
212   TUX_OOPS,
213   TUX_WAIT,
214   TUX_DEFAULT,
215   TUX_DEFAULT,
216   TUX_DEFAULT,
217   TUX_GREAT,
218   TUX_GREAT,
219   TUX_DEFAULT
220 };
221