GUI image change: Added more characters in help font. Shortcuts: Change internal "no key" value from FFFF to 0000 git-svn-id: svn://pulkomandy.tk/GrafX2/trunk@608 416bcca6-2ee7-4201-b75f-2eb2f807beb1
977 lines
22 KiB
C
977 lines
22 KiB
C
/* Grafx2 - The Ultimate 256-color bitmap paint program
|
||
|
||
Copyright 2008 Yves Rizoud
|
||
Copyright 2008 Adrien Destugues
|
||
Copyright 1996-2001 Sunset Design (Guillaume Dorme & Karl Maritaud)
|
||
|
||
Grafx2 is free software; you can redistribute it and/or
|
||
modify it under the terms of the GNU General Public License
|
||
as published by the Free Software Foundation; version 2
|
||
of the License.
|
||
|
||
Grafx2 is distributed in the hope that it will be useful,
|
||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||
GNU General Public License for more details.
|
||
|
||
You should have received a copy of the GNU General Public License
|
||
along with Grafx2; if not, see <http://www.gnu.org/licenses/> or
|
||
write to the Free Software Foundation, Inc.,
|
||
59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
||
*/
|
||
#include <stdbool.h>
|
||
#include <SDL.h>
|
||
|
||
/*** Types definitions and structs ***/
|
||
|
||
typedef struct{
|
||
uint16_t Numero;
|
||
char Libelle[36];
|
||
char Explic1[77];
|
||
char Explic2[77];
|
||
bool Suppr; // Raccourci facultatif
|
||
uint16_t Touche;
|
||
uint16_t Touche2;
|
||
} S_ConfigTouche;
|
||
|
||
S_ConfigTouche ConfigTouche[] = {
|
||
{0,
|
||
"Scroll up",
|
||
"Scrolls the picture up, both in magnify and normal mode.",
|
||
"This hotkey cannot be removed.",
|
||
false,
|
||
SDLK_UP, // HAUT
|
||
0},
|
||
{1,
|
||
"Scroll down",
|
||
"Scrolls the picture down, both in magnify and normal mode.",
|
||
"This hotkey cannot be removed.",
|
||
false,
|
||
SDLK_DOWN, // BAS
|
||
0},
|
||
{2,
|
||
"Scroll left",
|
||
"Scrolls the picture to the left, both in magnify and normal mode.",
|
||
"This hotkey cannot be removed.",
|
||
false,
|
||
SDLK_LEFT, // GAUCHE
|
||
0},
|
||
{3,
|
||
"Scroll right",
|
||
"Scrolls the picture to the right, both in magnify and normal mode.",
|
||
"This hotkey cannot be removed.",
|
||
false,
|
||
SDLK_RIGHT, // DROITE
|
||
0},
|
||
{4,
|
||
"Faster scroll up",
|
||
"Used to scroll upwards in the picture fast, either in magnify and normal",
|
||
"mode.",
|
||
true,
|
||
SDLK_UP|MOD_SHIFT, // Shift + Haut
|
||
0},
|
||
{5,
|
||
"Faster scroll down",
|
||
"Used to scroll downwards in the picture fast, either in magnify and normal",
|
||
"mode.",
|
||
true,
|
||
SDLK_DOWN|MOD_SHIFT, // Shift + Bas
|
||
0},
|
||
{6,
|
||
"Faster scroll left",
|
||
"Used to scroll to the left in the picture fast, either in magnify and normal",
|
||
"mode.",
|
||
true,
|
||
SDLK_LEFT|MOD_SHIFT, // Shift + Gauche
|
||
0},
|
||
{7,
|
||
"Faster scroll right",
|
||
"Used to scroll to the right in the picture fast, either in magnify and",
|
||
"normal mode.",
|
||
true,
|
||
SDLK_RIGHT|MOD_SHIFT, // Shift + Droite
|
||
0},
|
||
{8,
|
||
"Slower scroll up",
|
||
"Used to scroll upwards in the picture pixel by pixel, either in magnify and",
|
||
"normal mode.",
|
||
true,
|
||
SDLK_UP|MOD_ALT, // Alt + Haut
|
||
0},
|
||
{9,
|
||
"Slower scroll down",
|
||
"Used to scroll downwards in the picture pixel by pixel, either in magnify and",
|
||
"normal mode.",
|
||
true,
|
||
SDLK_DOWN|MOD_ALT, // Alt + Bas
|
||
0},
|
||
{10,
|
||
"Slower scroll left",
|
||
"Used to scroll to the left in the picture pixel by pixel, either in magnify",
|
||
"and normal mode.",
|
||
true,
|
||
SDLK_LEFT|MOD_ALT, // Alt + Gauche
|
||
0},
|
||
{11,
|
||
"Slower scroll right",
|
||
"Used to scroll to the right in the picture pixel by pixel, either in magnify",
|
||
"and normal mode.",
|
||
true,
|
||
SDLK_RIGHT|MOD_ALT, // Alt + Droite
|
||
0},
|
||
{12,
|
||
"Move mouse cursor 1 pixel up",
|
||
"Used to simulate a very small mouse deplacement upwards.",
|
||
"It""s very useful when you want a ultra-high precision.",
|
||
true,
|
||
SDLK_UP|MOD_CTRL, // Ctrl + Haut
|
||
0},
|
||
{13,
|
||
"Move mouse cursor 1 pixel down",
|
||
"Used to simulate a very small mouse deplacement downwards.",
|
||
"It""s very useful when you want a ultra-high precision.",
|
||
true,
|
||
SDLK_DOWN|MOD_CTRL, // Ctrl + Bas
|
||
0},
|
||
{14,
|
||
"Move mouse cursor 1 pixel left",
|
||
"Used to simulate a very small mouse deplacement to the left.",
|
||
"It""s very useful when you want a ultra-high precision.",
|
||
true,
|
||
SDLK_LEFT|MOD_CTRL, // Ctrl + Gauche
|
||
0},
|
||
{15,
|
||
"Move mouse cursor 1 pixel right",
|
||
"Used to simulate a very small mouse deplacement to the right.",
|
||
"It""s very useful when you want a ultra-high precision.",
|
||
true,
|
||
SDLK_RIGHT|MOD_CTRL, // Ctrl + Droite
|
||
0},
|
||
{16,
|
||
"Simulate left mouse click",
|
||
"Used to simulate a click with the left mouse button..",
|
||
"It""s very useful when you want a ultra-high precision.",
|
||
true,
|
||
SDLK_SPACE, // Space
|
||
0},
|
||
{17,
|
||
"Simulate right mouse click",
|
||
"Used to simulate a click with the right mouse button..",
|
||
"It""s very useful when you want a ultra-high precision.",
|
||
true,
|
||
SDLK_SPACE|MOD_SHIFT, // Shift + Space
|
||
0},
|
||
{18,
|
||
"Show/hide option menu",
|
||
"Switch the tool bar display on/off.",
|
||
"This hot-key cannot be removed.",
|
||
false,
|
||
SDLK_F10, // F10
|
||
0},
|
||
{19,
|
||
"Show/hide cursor",
|
||
"Switch the cursor display on/off.",
|
||
"This only works on the \"small cross\" and \"hand\" cursors.",
|
||
true,
|
||
SDLK_F9, // F9
|
||
0},
|
||
{20,
|
||
"Set paintbrush to 1 pixel",
|
||
"Useful when you want to use a \"single-pixel-brush\".",
|
||
"",
|
||
true,
|
||
SDLK_DELETE, // Del
|
||
0},
|
||
{21,
|
||
"Paintbrush choice",
|
||
"Opens a menu where you can choose a paintbrush out of 24 predefined ones.",
|
||
"",
|
||
true,
|
||
SDLK_F4, // F4
|
||
0},
|
||
{22,
|
||
"Monochrome brush",
|
||
"Turn your current user-defined brush into a single colored one.",
|
||
"All non-transparent colors are set to current foreground color.",
|
||
true,
|
||
SDLK_F4|MOD_SHIFT, // Shift + F4
|
||
0},
|
||
{23,
|
||
"Freehand drawing",
|
||
"Set the drawing mode to the classical freehand one.",
|
||
"",
|
||
true,
|
||
SDLK_d, // D
|
||
0},
|
||
{24,
|
||
"Switch freehand drawing mode",
|
||
"Switch between the 3 ways to use freehand drawing.",
|
||
"These modes are: continuous, discontinuous and point by point.",
|
||
true,
|
||
SDLK_d|MOD_SHIFT, // Shift + D
|
||
0},
|
||
{25,
|
||
"Continuous freehand drawing",
|
||
"Switch directly to continuous freehand drawing mode.",
|
||
"",
|
||
true,
|
||
SDLK_d|MOD_CTRL, // Ctrl + D
|
||
0},
|
||
{26,
|
||
"Line",
|
||
"Allows you to draw lines.",
|
||
"",
|
||
true,
|
||
SDLK_l, // L
|
||
0},
|
||
{27,
|
||
"Knotted lines",
|
||
"Allows you to draw linked lines.",
|
||
"This mode can also be called \"Polyline\".",
|
||
true,
|
||
SDLK_l|MOD_SHIFT, // Shift + L
|
||
0},
|
||
{28,
|
||
"Spray",
|
||
"Allows you to spray brushes randomly in the picture.",
|
||
"",
|
||
true,
|
||
SDLK_a, // A (Q en AZERTY)
|
||
0},
|
||
{29,
|
||
"Spray menu",
|
||
"Opens a menu in which you can configure the spray flow and size.",
|
||
"",
|
||
true,
|
||
SDLK_a|MOD_SHIFT, // Shift + A
|
||
0},
|
||
{30,
|
||
"Flood-fill",
|
||
"Allows you to fill an area of the picture made of pixels of the same color.",
|
||
"",
|
||
true,
|
||
SDLK_f, // F
|
||
0},
|
||
{124,
|
||
"Replace color",
|
||
"Allows you to replace all the pixels of the color pointed by the mouse with",
|
||
"the fore-color or the back-color.",
|
||
true,
|
||
SDLK_f|MOD_SHIFT, // Shift + F
|
||
0},
|
||
{31,
|
||
"Bezier""s curves",
|
||
"Allows you to draw Bezier""s curves.",
|
||
"",
|
||
true,
|
||
SDLK_i, // I
|
||
0},
|
||
{32,
|
||
"Bezier""s curve with 3 or 4 points",
|
||
"Allows you to choose whether you want to draw Bezier""s curves with 3 or 4",
|
||
"points.",
|
||
true,
|
||
SDLK_i|MOD_SHIFT, // Shift + I
|
||
0},
|
||
{33,
|
||
"Empty rectangle",
|
||
"Allows you to draw a rectangle using the brush.",
|
||
"",
|
||
true,
|
||
SDLK_r, // R
|
||
0},
|
||
{34,
|
||
"Filled rectangle",
|
||
"Allows you to draw a filled rectangle.",
|
||
"",
|
||
true,
|
||
SDLK_r|MOD_SHIFT, // Shift + R
|
||
0},
|
||
{35,
|
||
"Empty circle",
|
||
"Allows you to draw a circle using the brush.",
|
||
"",
|
||
true,
|
||
SDLK_c, // C
|
||
0},
|
||
{36,
|
||
"Empty ellipse",
|
||
"Allows you to draw an ellipse using the brush.",
|
||
"",
|
||
true,
|
||
SDLK_c|MOD_CTRL, // Ctrl + C
|
||
0},
|
||
{37,
|
||
"Filled circle",
|
||
"Allows you to draw a filled circle.",
|
||
"",
|
||
true,
|
||
SDLK_c|MOD_SHIFT, // Shift + C
|
||
0},
|
||
{38,
|
||
"Filled ellipse",
|
||
"Allows you to draw a filled ellipse.",
|
||
"",
|
||
true,
|
||
SDLK_c|MOD_SHIFT|MOD_CTRL, // Shift + Ctrl + C
|
||
0},
|
||
{39,
|
||
"Empty polygon",
|
||
"Allows you to draw a polygon using the brush.",
|
||
"",
|
||
true,
|
||
SDLK_n, // N
|
||
0},
|
||
{40,
|
||
"Empty \"polyform\"",
|
||
"Allows you to draw a freehand polygon using the brush.",
|
||
"",
|
||
true,
|
||
SDLK_n|MOD_CTRL, // Ctrl + N
|
||
0},
|
||
{41,
|
||
"Filled polygon",
|
||
"Allows you to draw a filled polygon.",
|
||
"",
|
||
true,
|
||
SDLK_n|MOD_SHIFT, // Shift + N
|
||
0},
|
||
{42,
|
||
"Filled \"polyform\"",
|
||
"Allows you to draw a filled freehand polygon.",
|
||
"",
|
||
true,
|
||
SDLK_n|MOD_SHIFT|MOD_CTRL, // Shift + Ctrl + N
|
||
0},
|
||
{43,
|
||
"Rectangle with gradation",
|
||
"Allows you to draw a rectangle with a color gradation.",
|
||
"",
|
||
true,
|
||
SDLK_r|MOD_ALT, // Alt + R
|
||
0},
|
||
{44,
|
||
"Gradation menu",
|
||
"Allows you to configure the way color gradations are calculated.",
|
||
"",
|
||
true,
|
||
SDLK_g|MOD_ALT, // Alt + G
|
||
0},
|
||
{45,
|
||
"Sphere with gradation",
|
||
"Allows you to draw a rectangle with a color gradation.",
|
||
"",
|
||
true,
|
||
SDLK_c|MOD_ALT, // Alt + C
|
||
0},
|
||
{46,
|
||
"Ellipse with gradation",
|
||
"Allows you to draw an ellipse filled with a color gradation.",
|
||
"",
|
||
true,
|
||
SDLK_c|MOD_SHIFT|MOD_ALT, // Shift + Alt + C
|
||
0},
|
||
{47,
|
||
"Adjust picture",
|
||
"Allows you to move the whole picture in order to re-center it.",
|
||
"Notice that what gets out from a side reappears on the other.",
|
||
true,
|
||
SDLK_KP5, // Kpad5
|
||
0},
|
||
{48,
|
||
"Flip/shrink picture menu",
|
||
"Opens a menu which allows you to flip the picture horizontally/vertically or",
|
||
"to shrink it to half-scale horizontally and/or vertically.",
|
||
true,
|
||
SDLK_KP5|MOD_SHIFT, // Shift + Kpad5
|
||
0},
|
||
{49,
|
||
"Drawing effects",
|
||
"Opens a menu where you can enable/disable and configure the drawing effects",
|
||
"listed below.",
|
||
true,
|
||
SDLK_e, // E
|
||
0},
|
||
{50,
|
||
"Shade mode",
|
||
"Allows you to shade or lighten some pixels of the picture belonging to a",
|
||
"color range, in addition of any drawing tool.",
|
||
true,
|
||
SDLK_F5, // F5
|
||
0},
|
||
{51,
|
||
"Shade menu",
|
||
"Opens a menu where you can choose color ranges to use with the Shade mode.",
|
||
"This menu also contains parameters used both in Shade and Quick-shade modes.",
|
||
true,
|
||
SDLK_F5|MOD_SHIFT, // Shift + F5
|
||
0},
|
||
{131,
|
||
"Quick-shade mode",
|
||
"Does the same thing as shade mode with a simpler method (faster to define",
|
||
"but a bit less powerful).",
|
||
true,
|
||
SDLK_F5|MOD_CTRL, // Ctrl + F5
|
||
0},
|
||
{132,
|
||
"Quick-shade menu",
|
||
"Opens a menu where you can define the parameters of the quick-shade mode.",
|
||
"",
|
||
true,
|
||
SDLK_F5|MOD_SHIFT|MOD_CTRL, // Shift + Ctrl + F5
|
||
0},
|
||
{52,
|
||
"Stencil mode",
|
||
"Allows you to mask colors that must not be affected when you are drawing.",
|
||
"",
|
||
true,
|
||
SDLK_F6, // F6
|
||
0},
|
||
{53,
|
||
"Stencil menu",
|
||
"Opens a menu where you can choose colors masked by the Stencil mode.",
|
||
"",
|
||
true,
|
||
SDLK_F6|MOD_SHIFT, // Shift + F6
|
||
0},
|
||
{54,
|
||
"Mask mode",
|
||
"Allows you to mask colors of the spare page that will keep you from ",
|
||
"drawing. This mode should be called \"True stencil\".",
|
||
true,
|
||
SDLK_F6|MOD_ALT, // Alt + F6
|
||
0},
|
||
{55,
|
||
"Mask menu",
|
||
"Opens a menu where you can choose colors for the Mask mode.",
|
||
"",
|
||
true,
|
||
SDLK_F6|MOD_SHIFT|MOD_ALT, // Shift + Alt + F6
|
||
0},
|
||
{56,
|
||
"Grid mode",
|
||
"Force the cursor to snap up grid points.",
|
||
"",
|
||
true,
|
||
SDLK_g, // G
|
||
0},
|
||
{57,
|
||
"Grid menu",
|
||
"Open a menu where you can configure the grid used by Grid mode.",
|
||
"",
|
||
true,
|
||
SDLK_g|MOD_SHIFT, // Shift + G
|
||
0},
|
||
{58,
|
||
"Sieve mode",
|
||
"Only draws pixels on certain positions matching with a sieve.",
|
||
"",
|
||
true,
|
||
SDLK_g|MOD_CTRL, // Ctrl + G
|
||
0},
|
||
{59,
|
||
"Sieve menu",
|
||
"Opens a menu where you can configure the sieve.",
|
||
"",
|
||
true,
|
||
SDLK_g|MOD_SHIFT|MOD_CTRL, // Shift + Ctrl + G
|
||
0},
|
||
{60,
|
||
"Invert sieve",
|
||
"Inverts the pattern defined in the Sieve menu.",
|
||
"",
|
||
true,
|
||
SDLK_g|MOD_CTRL|MOD_ALT, // Ctrl + Alt + G
|
||
0},
|
||
{61,
|
||
"Colorize mode",
|
||
"Allows you to colorize the pixels on which your brush is pasted.",
|
||
"This permits you to make transparency effects.",
|
||
true,
|
||
SDLK_F7, // F7
|
||
0},
|
||
{62,
|
||
"Colorize menu",
|
||
"Opens a menu where you can give the opacity percentage for Colorize mode.",
|
||
"",
|
||
true,
|
||
SDLK_F7|MOD_SHIFT, // Shift + F7
|
||
0},
|
||
{63,
|
||
"Smooth mode",
|
||
"Soften pixels on which your brush is pasted.",
|
||
"",
|
||
true,
|
||
SDLK_F8, // F8
|
||
0},
|
||
{123,
|
||
"Smooth menu",
|
||
"Opens a menu where you can define the Smooth matrix.",
|
||
"",
|
||
true,
|
||
SDLK_F8|MOD_SHIFT, // Shift + F8
|
||
0},
|
||
{64,
|
||
"Smear mode",
|
||
"Smears the pixels when you move your brush on the picture.",
|
||
"",
|
||
true,
|
||
SDLK_F8|MOD_ALT, // Alt + F8
|
||
0},
|
||
{65,
|
||
"Tiling mode",
|
||
"Puts parts of the brush where you draw.",
|
||
"",
|
||
true,
|
||
SDLK_b|MOD_ALT, // Alt + B
|
||
0},
|
||
{66,
|
||
"Tiling menu",
|
||
"Opens a menu where you can configure the origin of the tiling.",
|
||
"",
|
||
true,
|
||
SDLK_b|MOD_SHIFT|MOD_ALT, // Shift + Alt + B
|
||
0},
|
||
{67,
|
||
"Classical brush grabbing",
|
||
"Allows you to pick a brush defined within a rectangle.",
|
||
"",
|
||
true,
|
||
SDLK_b, // B
|
||
0},
|
||
{68,
|
||
"\"Lasso\" brush grabbing",
|
||
"Allows you to pick a brush defined within a freehand polygon.",
|
||
"",
|
||
true,
|
||
SDLK_b|MOD_CTRL, // Ctrl + B
|
||
0},
|
||
{69,
|
||
"Get previous brush back",
|
||
"Restore the last user-defined brush.",
|
||
"",
|
||
true,
|
||
SDLK_b|MOD_SHIFT, // Shift + B
|
||
0},
|
||
{70,
|
||
"Horizontal brush flipping",
|
||
"Reverse brush horizontally.",
|
||
"",
|
||
true,
|
||
SDLK_x, // X
|
||
0},
|
||
{71,
|
||
"Vertical brush flipping",
|
||
"Reverse brush vertically.",
|
||
"",
|
||
true,
|
||
SDLK_y, // Y
|
||
0},
|
||
{72,
|
||
"90<EFBFBD> brush rotation",
|
||
"Rotate the user-defined brush by 90<39> (counter-clockwise).",
|
||
"",
|
||
true,
|
||
SDLK_z, // Z (W en AZERTY)
|
||
0},
|
||
{73,
|
||
"180<EFBFBD> brush rotation",
|
||
"Rotate the user-defined brush by 180<38>.",
|
||
"",
|
||
true,
|
||
SDLK_z|MOD_SHIFT, // Shift + Z
|
||
0},
|
||
{74,
|
||
"Strech brush",
|
||
"Allows you to resize the user-defined brush.",
|
||
"",
|
||
true,
|
||
SDLK_s, // S
|
||
0},
|
||
{75,
|
||
"Distort brush",
|
||
"Allows you to distort the user-defined brush.",
|
||
"",
|
||
true,
|
||
SDLK_s|MOD_SHIFT, // Shift + S
|
||
0},
|
||
{76,
|
||
"Outline brush",
|
||
"Outlines the user-defined brush with the fore color.",
|
||
"",
|
||
true,
|
||
SDLK_o, // O
|
||
0},
|
||
{77,
|
||
"Nibble brush",
|
||
"Deletes the borders of the user-defined brush.",
|
||
"This does the opposite of the Outline option.",
|
||
true,
|
||
SDLK_o|MOD_SHIFT, // Shift + O
|
||
0},
|
||
{78,
|
||
"Get colors from brush",
|
||
"Copy colors of the spare page that are used in the brush.",
|
||
"",
|
||
true,
|
||
SDLK_F11, // F11
|
||
0},
|
||
{79,
|
||
"Recolorize brush",
|
||
"Recolorize pixels of the user-defined brush in order to get a brush which",
|
||
"looks like the one grabbed in the spare page.",
|
||
true,
|
||
SDLK_F12, // F12
|
||
0},
|
||
{80,
|
||
"Rotate by any angle",
|
||
"Rotate the brush by an angle that you can define.",
|
||
"",
|
||
true,
|
||
SDLK_w, // W (Z en AZERTY)
|
||
0},
|
||
{81,
|
||
"Pipette",
|
||
"Allows you to copy the color of a pixel in the picture into the foreground",
|
||
"or background color.",
|
||
true,
|
||
SDLK_BACKQUOTE, // `~ (Touche sous le Esc - <20> en AZERTY)
|
||
0},
|
||
{82,
|
||
"Swap foreground/background colors",
|
||
"Invert foreground and background colors.",
|
||
"",
|
||
true,
|
||
SDLK_BACKQUOTE|MOD_SHIFT, // Shift + `~
|
||
0},
|
||
{83,
|
||
"Magnifier mode",
|
||
"Allows you to zoom into the picture.",
|
||
"",
|
||
true,
|
||
SDLK_m, // M (, ? sur AZERTY)
|
||
TOUCHE_MOUSEMIDDLE},
|
||
{84,
|
||
"Zoom factor menu",
|
||
"Opens a menu where you can choose a magnifying factor.",
|
||
"",
|
||
true,
|
||
SDLK_m|MOD_SHIFT, // Shift + M
|
||
0},
|
||
{85,
|
||
"Zoom in",
|
||
"Increase magnifying factor.",
|
||
"",
|
||
true,
|
||
SDLK_KP_PLUS, // Grey +
|
||
TOUCHE_MOUSEWHEELUP},
|
||
{86,
|
||
"Zoom out",
|
||
"Decrease magnifying factor.",
|
||
"",
|
||
true,
|
||
SDLK_KP_MINUS, // Grey -
|
||
TOUCHE_MOUSEWHEELDOWN},
|
||
{87,
|
||
"Brush effects menu",
|
||
"Opens a menu which proposes different effects on the user-defined brush.",
|
||
"",
|
||
true,
|
||
SDLK_b|MOD_CTRL|MOD_ALT, // Ctrl + Alt + B
|
||
0},
|
||
{88,
|
||
"Text",
|
||
"Opens a menu which permits you to type in a character string and to choose a",
|
||
"font, and then creates a new user-defined brush fitting to your choices.",
|
||
true,
|
||
SDLK_t, // T
|
||
0},
|
||
{89,
|
||
"Screen resolution menu",
|
||
"Opens a menu where you can choose the dimensions of the screen in which you",
|
||
"want to draw among the numerous X and SVGA proposed modes.",
|
||
true,
|
||
SDLK_RETURN, // Enter
|
||
0},
|
||
{90,
|
||
"\"Safety\" resolution",
|
||
"Set resolution to 320x200. This can be useful if you choosed a resolution",
|
||
"that is not supported by your monitor and video card. Cannot be removed.",
|
||
false,
|
||
SDLK_RETURN|MOD_SHIFT, // Shift + Enter
|
||
0},
|
||
{91,
|
||
"Help and credits",
|
||
"Opens a window where you can get information about the program.",
|
||
"",
|
||
true,
|
||
SDLK_F1, // F1
|
||
0},
|
||
{92,
|
||
"Statistics",
|
||
"Displays miscellaneous more or less useful information.",
|
||
"",
|
||
true,
|
||
SDLK_F1|MOD_SHIFT, // Shift + F1
|
||
0},
|
||
{93,
|
||
"Jump to spare page",
|
||
"Swap current page and spare page.",
|
||
"",
|
||
true,
|
||
SDLK_TAB, // Tab
|
||
0},
|
||
{94,
|
||
"Copy current page to spare page",
|
||
"Copy current page to spare page.",
|
||
"",
|
||
true,
|
||
SDLK_TAB|MOD_SHIFT, // Shift + Tab
|
||
0},
|
||
{95,
|
||
"Save picture as...",
|
||
"Opens a file-selector that allows you to save your picture with a new",
|
||
"path-name.",
|
||
true,
|
||
SDLK_F2, // F2
|
||
0},
|
||
{96,
|
||
"Save picture",
|
||
"Saves your picture with the last name you gave it.",
|
||
"",
|
||
true,
|
||
SDLK_F2|MOD_SHIFT, // Shift + F2
|
||
0},
|
||
{97,
|
||
"Load picture",
|
||
"Opens a file-selector that allows you to load a new picture.",
|
||
"",
|
||
true,
|
||
SDLK_F3, // F3
|
||
0},
|
||
{98,
|
||
"Re-load picture",
|
||
"Re-load the current picture.",
|
||
"This allows you to cancel modifications made since last saving.",
|
||
true,
|
||
SDLK_F3|MOD_SHIFT, // Shift + F3
|
||
0},
|
||
{99,
|
||
"Save brush",
|
||
"Opens a file-selector that allows you to save your current user-defined",
|
||
"brush.",
|
||
true,
|
||
SDLK_F2|MOD_CTRL, // Ctrl + F2
|
||
0},
|
||
{100,
|
||
"Load brush",
|
||
"Opens a file-selector that allows you to load a brush.",
|
||
"",
|
||
true,
|
||
SDLK_F3|MOD_CTRL, // Ctrl + F3
|
||
0},
|
||
{101,
|
||
"Settings",
|
||
"Opens a menu which permits you to set the dimension of your picture, and to",
|
||
"modify some parameters of the program.",
|
||
true,
|
||
SDLK_F10|MOD_SHIFT, // Shift + F10
|
||
0},
|
||
{102,
|
||
"Undo (Oops!)",
|
||
"Cancel the last action which modified the picture. This has no effect after",
|
||
"a jump to the spare page, loading a picture or modifying its size.",
|
||
true,
|
||
SDLK_u, // U
|
||
0},
|
||
{103,
|
||
"Redo",
|
||
"Redo the last undone action. This has no effect after a jump to the spare",
|
||
"page, loading a picture or modifying its size.",
|
||
true,
|
||
SDLK_u|MOD_SHIFT, // Shift + U
|
||
0},
|
||
{133,
|
||
"Kill",
|
||
"Kills the current page. It actually removes the current page from the list",
|
||
"of \"Undo\" pages.",
|
||
true,
|
||
SDLK_DELETE|MOD_SHIFT, // Shift + Suppr
|
||
0},
|
||
{104,
|
||
"Clear page",
|
||
"Clears the picture with the first color of the palette (usually black).",
|
||
"",
|
||
true,
|
||
SDLK_BACKSPACE, // BackSpace
|
||
0},
|
||
{105,
|
||
"Clear page with backcolor",
|
||
"Clears the picture with the backcolor.",
|
||
"",
|
||
true,
|
||
SDLK_BACKSPACE|MOD_SHIFT, // Shift + BackSpace
|
||
0},
|
||
{106,
|
||
"Quit program",
|
||
"Allows you to leave the program.",
|
||
"If modifications were not saved, confirmation is asked.",
|
||
false,
|
||
SDLK_q, // Q (A en AZERTY)
|
||
0},
|
||
{107,
|
||
"Palette menu",
|
||
"Opens a menu which allows you to modify the current palette.",
|
||
"",
|
||
true,
|
||
SDLK_p, // P
|
||
0},
|
||
{125,
|
||
"Secondary palette menu",
|
||
"Opens a menu which allows you to define color series and some tagged colors.",
|
||
"",
|
||
true,
|
||
SDLK_p|MOD_SHIFT, // Shift + P
|
||
0},
|
||
{130,
|
||
"Exclude colors menu",
|
||
"Opens a menu which allows you to define the colors you don""t want to use in",
|
||
"modes such as Smooth and Transparency, or when remapping a brush.",
|
||
true,
|
||
SDLK_p|MOD_CTRL, // Ctrl + P
|
||
0},
|
||
{108,
|
||
"Scroll palette to the left",
|
||
"Scroll palette in the tool bar to the left, column by column.",
|
||
"",
|
||
true,
|
||
SDLK_PAGEUP, // PgUp
|
||
0},
|
||
{109,
|
||
"Scroll palette to the right",
|
||
"Scroll palette in the tool bar to the right, column by column.",
|
||
"",
|
||
true,
|
||
SDLK_PAGEDOWN, // PgDn
|
||
0},
|
||
{110,
|
||
"Scroll palette to the left faster",
|
||
"Scroll palette in the tool bar to the left, 8 columns by 8 columns.",
|
||
"",
|
||
true,
|
||
SDLK_PAGEUP|MOD_SHIFT, // Shift + PgUp
|
||
0},
|
||
{111,
|
||
"Scroll palette to the right faster",
|
||
"Scroll palette in the tool bar to the right, 8 columns by 8 columns.",
|
||
"",
|
||
true,
|
||
SDLK_PAGEDOWN|MOD_SHIFT, // Shift + PgDn
|
||
0},
|
||
{112,
|
||
"Center brush attachment point",
|
||
"Set the attachement of the user-defined brush to its center.",
|
||
"",
|
||
true,
|
||
SDLK_KP5|MOD_CTRL, // Ctrl + 5 (pav<61> num<75>rique)
|
||
0},
|
||
{113,
|
||
"Top-left brush attachment point",
|
||
"Set the attachement of the user-defined brush to its top-left corner.",
|
||
"",
|
||
true,
|
||
SDLK_HOME|MOD_CTRL, // Ctrl + 7
|
||
0},
|
||
{114,
|
||
"Top-right brush attachment point",
|
||
"Set the attachement of the user-defined brush to its top-right corner.",
|
||
"",
|
||
true,
|
||
SDLK_PAGEUP|MOD_CTRL, // Ctrl + 9
|
||
0},
|
||
{115,
|
||
"Bottom-left brush attachment point",
|
||
"Set the attachement of the user-defined brush to its bottom-left corner.",
|
||
"",
|
||
true,
|
||
SDLK_END|MOD_CTRL, // Ctrl + 1
|
||
0},
|
||
{116,
|
||
"Bottom-right brush attachment point",
|
||
"Set the attachement of the user-defined brush to its bottom-right corner.",
|
||
"",
|
||
true,
|
||
SDLK_PAGEDOWN|MOD_CTRL, // Ctrl + 3
|
||
0},
|
||
{117,
|
||
"Next foreground color",
|
||
"Set the foreground color to the next in the palette.",
|
||
"",
|
||
true,
|
||
SDLK_RIGHTBRACKET, // ] (0x en AZERTY)
|
||
0},
|
||
{118,
|
||
"Previous foreground color",
|
||
"Set the foreground color to the previous in the palette.",
|
||
"",
|
||
true,
|
||
SDLK_LEFTBRACKET, // [ (^ en AZERTY)
|
||
0},
|
||
{119,
|
||
"Next background color",
|
||
"Set the background color to the next in the palette.",
|
||
"",
|
||
true,
|
||
SDLK_RIGHTBRACKET|MOD_SHIFT, // Shift + ]
|
||
0},
|
||
{120,
|
||
"Previous background color",
|
||
"Set the background color to the previous in the palette.",
|
||
"",
|
||
true,
|
||
SDLK_LEFTBRACKET|MOD_SHIFT, // Shift + [
|
||
0},
|
||
{126,
|
||
"Next user-defined forecolor",
|
||
"Set the foreground color to the next in the user-defined color series.",
|
||
"",
|
||
true,
|
||
SDLK_EQUALS, // "=+"
|
||
0},
|
||
{127,
|
||
"Previous user-defined forecolor",
|
||
"Set the foreground color to the previous in the user-defined color series.",
|
||
"",
|
||
true,
|
||
SDLK_MINUS, // "-_" (")<29>" en AZERTY
|
||
0},
|
||
{128,
|
||
"Next user-defined backcolor",
|
||
"Set the background color to the next in the user-defined color series.",
|
||
"",
|
||
true,
|
||
SDLK_EQUALS|MOD_SHIFT, // Shift + "=+"
|
||
0},
|
||
{129,
|
||
"Previous user-defined backcolor",
|
||
"Set the background color to the previous in the user-defined color series.",
|
||
"",
|
||
true,
|
||
SDLK_MINUS|MOD_SHIFT, // Shift + "-_" (")<29>" en AZERTY
|
||
0},
|
||
{121,
|
||
"Shrink paintbrush",
|
||
"Decrease the width of the paintbrush if it is special circle or square.",
|
||
"",
|
||
true,
|
||
SDLK_COMMA, // , < (;. en AZERTY)
|
||
0},
|
||
{122,
|
||
"Enlarge paintbrush",
|
||
"Increase the width of the paintbrush if it is special circle or square.",
|
||
"",
|
||
true,
|
||
SDLK_PERIOD, // .> (:/ en AZERTY)
|
||
0},
|
||
};
|