Internal: Moved tooltips inside Buttons_pool, and Buttons_pool from globals.h to to windows.c/h for easier modification
git-svn-id: svn://pulkomandy.tk/GrafX2/trunk@1908 416bcca6-2ee7-4201-b75f-2eb2f807beb1
This commit is contained in:
parent
d38f5ee981
commit
2343dcb54c
72
src/engine.c
72
src/engine.c
@ -66,68 +66,6 @@ Func_effect Effect_function_before_cancel;
|
||||
///This table holds pointers to the saved window backgrounds. We can have up to 8 windows open at a time.
|
||||
byte* Window_background[8];
|
||||
|
||||
|
||||
///Table of tooltip texts for menu buttons
|
||||
char * Menu_tooltip[NB_BUTTONS]=
|
||||
{
|
||||
"Hide toolbars / Select ",
|
||||
|
||||
"Layers manager ",
|
||||
"Get/Set transparent col.",
|
||||
"Merge layer ",
|
||||
"Add layer ",
|
||||
"Drop layer ",
|
||||
"Raise layer ",
|
||||
"Lower layer ",
|
||||
"Set frame time ",
|
||||
"Go to first frame ",
|
||||
"Go to previous frame ",
|
||||
"Go to next frame ",
|
||||
"Go to last frame ",
|
||||
"Preview animation ",
|
||||
"Layer select / toggle ",
|
||||
"Paintbrush choice ",
|
||||
"Adjust / Transform menu ",
|
||||
"Freehand draw. / Toggle ",
|
||||
"Splines / Toggle ",
|
||||
"Lines / Toggle ",
|
||||
"Spray / Menu ",
|
||||
"Floodfill / Replace col.",
|
||||
"Polylines / Polyforms ",
|
||||
"Polyfill / Filled Pforms",
|
||||
"Empty rectangles ",
|
||||
"Filled rectangles ",
|
||||
"Empty circles / ellipses",
|
||||
"Filled circles / ellips.",
|
||||
"Grad. rect / Grad. menu ",
|
||||
"Grad. spheres / ellipses",
|
||||
"Brush grab. / Restore ",
|
||||
"Lasso / Restore brush ",
|
||||
#ifdef __ENABLE_LUA__
|
||||
"Brush effects / factory ",
|
||||
#else
|
||||
"Brush effects ",
|
||||
#endif
|
||||
"Drawing modes (effects) ",
|
||||
"Text ",
|
||||
"Magnify mode / Menu ",
|
||||
"Pipette / Invert colors ",
|
||||
"Screen size / Safe. res.",
|
||||
"Go / Copy to other page ",
|
||||
"Save as / Save ",
|
||||
"Load / Re-load ",
|
||||
"Settings / Skins ",
|
||||
"Clear / with backcolor ",
|
||||
"Help / Statistics ",
|
||||
"Undo / Redo ",
|
||||
"Kill current page ",
|
||||
"Quit ",
|
||||
"Palette editor / setup ",
|
||||
"Scroll pal. bkwd / Fast ",
|
||||
"Scroll pal. fwd / Fast ",
|
||||
"Color #" ,
|
||||
};
|
||||
|
||||
///Save a screen block (usually before erasing it with a new window or a dropdown menu)
|
||||
void Save_background(byte **buffer, int x_pos, int y_pos, int width, int height)
|
||||
{
|
||||
@ -631,7 +569,7 @@ void Status_print_palette_color(byte color)
|
||||
char str[25];
|
||||
int i;
|
||||
|
||||
strcpy(str,Menu_tooltip[BUTTON_CHOOSE_COL]);
|
||||
strcpy(str,Buttons_Pool[BUTTON_CHOOSE_COL].Tooltip);
|
||||
sprintf(str+strlen(str),"%d (%d,%d,%d)",color,Main_palette[color].R,Main_palette[color].G,Main_palette[color].B);
|
||||
// Pad spaces
|
||||
for (i=strlen(str); i<24; i++)
|
||||
@ -1496,7 +1434,7 @@ void Main_handler(void)
|
||||
Mouse_K = x; // Close_popup waits for end of click and resets Mouse_K...
|
||||
}
|
||||
|
||||
Print_in_menu(Menu_tooltip[button_index],0);
|
||||
Print_in_menu(Buttons_Pool[button_index].Tooltip,0);
|
||||
|
||||
/*if (Gfx->Hover_effect && !Buttons_Pool[button_index].Pressed)
|
||||
Draw_menu_button(button_index, BUTTON_HIGHLIGHTED);
|
||||
@ -2570,7 +2508,7 @@ void Get_color_behind_window(byte * color, byte * click)
|
||||
Paintbrush_hidden=1;
|
||||
c=-1; // color pointée: au début aucune, comme ça on initialise tout
|
||||
if (Menu_is_visible_before_window)
|
||||
Print_in_menu(Menu_tooltip[BUTTON_CHOOSE_COL],0);
|
||||
Print_in_menu(Buttons_Pool[BUTTON_CHOOSE_COL].Tooltip,0);
|
||||
|
||||
Display_cursor();
|
||||
|
||||
@ -2600,9 +2538,9 @@ void Get_color_behind_window(byte * color, byte * click)
|
||||
for (index=strlen(str); index<a; index++)
|
||||
str[index]=' ';
|
||||
str[a]=0;
|
||||
Print_in_menu(str,strlen(Menu_tooltip[BUTTON_CHOOSE_COL]));
|
||||
Print_in_menu(str,strlen(Buttons_Pool[BUTTON_CHOOSE_COL].Tooltip));
|
||||
|
||||
Print_general((26+((d+strlen(Menu_tooltip[BUTTON_CHOOSE_COL]))<<3))*Menu_factor_X,
|
||||
Print_general((26+((d+strlen(Buttons_Pool[BUTTON_CHOOSE_COL].Tooltip))<<3))*Menu_factor_X,
|
||||
Menu_status_Y," ",0,c);
|
||||
}
|
||||
}
|
||||
|
||||
29
src/global.h
29
src/global.h
@ -570,35 +570,6 @@ GFX2_GLOBAL T_Window Window_stack[8];
|
||||
|
||||
#define Window_draggable Window_stack[Windows_open-1].Draggable
|
||||
|
||||
|
||||
/// Definition of the menu (toolbox)
|
||||
GFX2_GLOBAL struct
|
||||
{
|
||||
// Button aspect
|
||||
word X_offset; ///< Position relative to menu's left
|
||||
word Y_offset; ///< Position relative to menu's top
|
||||
word Width; ///< Button's active width
|
||||
word Height; ///< Button's active heigth
|
||||
byte Pressed; ///< Button is currently pressed
|
||||
byte Shape; ///< Shape, listed in enum ::BUTTON_SHAPES
|
||||
signed char Icon; ///< Which icon to display: Either the one from the toolbar (-1) or one of ::MENU_SPRITE
|
||||
|
||||
// Triggers on mouse/keyboard
|
||||
Func_action Left_action; ///< Action triggered by a left mouseclick on the button
|
||||
Func_action Right_action; ///< Action triggered by a right mouseclick on the button
|
||||
word Left_shortcut[2]; ///< Keyboard shortcut for a left mouseclick
|
||||
word Right_shortcut[2];///< Keyboard shortcut for a right mouseclick
|
||||
byte Left_instant; ///< Will not wait for mouse release before triggering action
|
||||
byte Right_instant; ///< Will not wait for mouse release before triggering action
|
||||
|
||||
// Data used when the button is unselected
|
||||
Func_action Unselect_action; ///< Action triggered by unselecting the button
|
||||
byte Family; ///< enum ::FAMILY_OF_BUTTONS.
|
||||
|
||||
} Buttons_Pool[NB_BUTTONS];
|
||||
|
||||
|
||||
|
||||
// -- Information about the different drawing modes (effects)
|
||||
|
||||
/// Current effecting function. When no effect is selected this is ::No_effect()
|
||||
|
||||
870
src/init.c
870
src/init.c
@ -782,16 +782,17 @@ void Do_nothing(void)
|
||||
|
||||
// Initialiseur d'un bouton:
|
||||
|
||||
void Init_button(byte btn_number,
|
||||
word x_offset , word y_offset,
|
||||
word width , word height,
|
||||
byte shape,
|
||||
Func_action left_action,
|
||||
Func_action right_action,
|
||||
byte left_instant,
|
||||
byte right_instant,
|
||||
Func_action unselect_action,
|
||||
byte family)
|
||||
void Init_button(byte btn_number,
|
||||
const char* tooltip,
|
||||
word x_offset, word y_offset,
|
||||
word width, word height,
|
||||
byte shape,
|
||||
Func_action left_action,
|
||||
Func_action right_action,
|
||||
byte left_instant,
|
||||
byte right_instant,
|
||||
Func_action unselect_action,
|
||||
byte family)
|
||||
{
|
||||
Buttons_Pool[btn_number].X_offset =x_offset;
|
||||
Buttons_Pool[btn_number].Y_offset =y_offset;
|
||||
@ -800,6 +801,7 @@ void Init_button(byte btn_number,
|
||||
Buttons_Pool[btn_number].Pressed =0;
|
||||
Buttons_Pool[btn_number].Icon =-1;
|
||||
Buttons_Pool[btn_number].Shape =shape;
|
||||
Buttons_Pool[btn_number].Tooltip =tooltip;
|
||||
Buttons_Pool[btn_number].Left_action =left_action;
|
||||
Buttons_Pool[btn_number].Right_action =right_action;
|
||||
Buttons_Pool[btn_number].Left_instant =left_instant;
|
||||
@ -822,503 +824,563 @@ void Init_buttons(void)
|
||||
Buttons_Pool[button_index].Right_shortcut[0]=0;
|
||||
Buttons_Pool[button_index].Right_shortcut[1]=0;
|
||||
Init_button(button_index,
|
||||
0,0,
|
||||
1,1,
|
||||
BUTTON_SHAPE_RECTANGLE,
|
||||
Do_nothing,Do_nothing,
|
||||
0,0,
|
||||
Do_nothing,
|
||||
0);
|
||||
"",
|
||||
0,0,
|
||||
1,1,
|
||||
BUTTON_SHAPE_RECTANGLE,
|
||||
Do_nothing,Do_nothing,
|
||||
0,0,
|
||||
Do_nothing,
|
||||
0);
|
||||
}
|
||||
|
||||
// Ici viennent les déclarations des boutons que l'on sait gérer
|
||||
|
||||
Init_button(BUTTON_PAINTBRUSHES,
|
||||
0,1,
|
||||
16,16,
|
||||
BUTTON_SHAPE_RECTANGLE,
|
||||
Button_Paintbrush_menu,Button_Brush_monochrome,
|
||||
0,0,
|
||||
Do_nothing,
|
||||
FAMILY_INSTANT);
|
||||
"Paintbrush choice ",
|
||||
0,1,
|
||||
16,16,
|
||||
BUTTON_SHAPE_RECTANGLE,
|
||||
Button_Paintbrush_menu,Button_Brush_monochrome,
|
||||
0,0,
|
||||
Do_nothing,
|
||||
FAMILY_INSTANT);
|
||||
|
||||
Init_button(BUTTON_ADJUST,
|
||||
0,18,
|
||||
16,16,
|
||||
BUTTON_SHAPE_RECTANGLE,
|
||||
Button_Adjust,Button_Transform_menu,
|
||||
0,0,
|
||||
Do_nothing,
|
||||
FAMILY_TOOL);
|
||||
"Adjust / Transform menu ",
|
||||
0,18,
|
||||
16,16,
|
||||
BUTTON_SHAPE_RECTANGLE,
|
||||
Button_Adjust,Button_Transform_menu,
|
||||
0,0,
|
||||
Do_nothing,
|
||||
FAMILY_TOOL);
|
||||
|
||||
Init_button(BUTTON_DRAW,
|
||||
17,1,
|
||||
16,16,
|
||||
BUTTON_SHAPE_RECTANGLE,
|
||||
Button_Draw,Button_Draw_switch_mode,
|
||||
0,0,
|
||||
Do_nothing,
|
||||
FAMILY_TOOL);
|
||||
"Freehand draw. / Toggle ",
|
||||
17,1,
|
||||
16,16,
|
||||
BUTTON_SHAPE_RECTANGLE,
|
||||
Button_Draw,Button_Draw_switch_mode,
|
||||
0,0,
|
||||
Do_nothing,
|
||||
FAMILY_TOOL);
|
||||
|
||||
Init_button(BUTTON_CURVES,
|
||||
17,18,
|
||||
16,16,
|
||||
BUTTON_SHAPE_RECTANGLE,
|
||||
Button_Curves,Button_Curves_switch_mode,
|
||||
0,0,
|
||||
Do_nothing,
|
||||
FAMILY_TOOL);
|
||||
"Splines / Toggle ",
|
||||
17,18,
|
||||
16,16,
|
||||
BUTTON_SHAPE_RECTANGLE,
|
||||
Button_Curves,Button_Curves_switch_mode,
|
||||
0,0,
|
||||
Do_nothing,
|
||||
FAMILY_TOOL);
|
||||
|
||||
Init_button(BUTTON_LINES,
|
||||
34,1,
|
||||
16,16,
|
||||
BUTTON_SHAPE_RECTANGLE,
|
||||
Button_Lines,Button_Lines_switch_mode,
|
||||
0,0,
|
||||
Do_nothing,
|
||||
FAMILY_TOOL);
|
||||
"Lines / Toggle ",
|
||||
34,1,
|
||||
16,16,
|
||||
BUTTON_SHAPE_RECTANGLE,
|
||||
Button_Lines,Button_Lines_switch_mode,
|
||||
0,0,
|
||||
Do_nothing,
|
||||
FAMILY_TOOL);
|
||||
|
||||
Init_button(BUTTON_AIRBRUSH,
|
||||
34,18,
|
||||
16,16,
|
||||
BUTTON_SHAPE_RECTANGLE,
|
||||
Button_Airbrush,Button_Airbrush_menu,
|
||||
0,0,
|
||||
Do_nothing,
|
||||
FAMILY_TOOL);
|
||||
"Spray / Menu ",
|
||||
34,18,
|
||||
16,16,
|
||||
BUTTON_SHAPE_RECTANGLE,
|
||||
Button_Airbrush,Button_Airbrush_menu,
|
||||
0,0,
|
||||
Do_nothing,
|
||||
FAMILY_TOOL);
|
||||
|
||||
Init_button(BUTTON_FLOODFILL,
|
||||
51,1,
|
||||
16,16,
|
||||
BUTTON_SHAPE_RECTANGLE,
|
||||
Button_Fill,Button_Replace,
|
||||
0,0,
|
||||
Button_Unselect_fill,
|
||||
FAMILY_TOOL);
|
||||
"Floodfill / Replace col.",
|
||||
51,1,
|
||||
16,16,
|
||||
BUTTON_SHAPE_RECTANGLE,
|
||||
Button_Fill,Button_Replace,
|
||||
0,0,
|
||||
Button_Unselect_fill,
|
||||
FAMILY_TOOL);
|
||||
|
||||
Init_button(BUTTON_POLYGONS,
|
||||
51,18,
|
||||
15,15,
|
||||
BUTTON_SHAPE_TRIANGLE_TOP_LEFT,
|
||||
Button_polygon,Button_Polyform,
|
||||
0,0,
|
||||
Do_nothing,
|
||||
FAMILY_TOOL);
|
||||
"Polylines / Polyforms ",
|
||||
51,18,
|
||||
15,15,
|
||||
BUTTON_SHAPE_TRIANGLE_TOP_LEFT,
|
||||
Button_polygon,Button_Polyform,
|
||||
0,0,
|
||||
Do_nothing,
|
||||
FAMILY_TOOL);
|
||||
|
||||
Init_button(BUTTON_POLYFILL,
|
||||
52,19,
|
||||
15,15,
|
||||
BUTTON_SHAPE_TRIANGLE_BOTTOM_RIGHT,
|
||||
Button_Polyfill,Button_Filled_polyform,
|
||||
0,0,
|
||||
Do_nothing,
|
||||
FAMILY_TOOL);
|
||||
"Polyfill / Filled Pforms",
|
||||
52,19,
|
||||
15,15,
|
||||
BUTTON_SHAPE_TRIANGLE_BOTTOM_RIGHT,
|
||||
Button_Polyfill,Button_Filled_polyform,
|
||||
0,0,
|
||||
Do_nothing,
|
||||
FAMILY_TOOL);
|
||||
|
||||
Init_button(BUTTON_RECTANGLES,
|
||||
68,1,
|
||||
15,15,
|
||||
BUTTON_SHAPE_TRIANGLE_TOP_LEFT,
|
||||
Button_Empty_rectangle,Button_Empty_rectangle,
|
||||
0,0,
|
||||
Do_nothing,
|
||||
FAMILY_TOOL);
|
||||
"Empty rectangles ",
|
||||
68,1,
|
||||
15,15,
|
||||
BUTTON_SHAPE_TRIANGLE_TOP_LEFT,
|
||||
Button_Empty_rectangle,Button_Empty_rectangle,
|
||||
0,0,
|
||||
Do_nothing,
|
||||
FAMILY_TOOL);
|
||||
|
||||
Init_button(BUTTON_FILLRECT,
|
||||
69,2,
|
||||
15,15,
|
||||
BUTTON_SHAPE_TRIANGLE_BOTTOM_RIGHT,
|
||||
Button_Filled_rectangle,Button_Filled_rectangle,
|
||||
0,0,
|
||||
Do_nothing,
|
||||
FAMILY_TOOL);
|
||||
"Filled rectangles ",
|
||||
69,2,
|
||||
15,15,
|
||||
BUTTON_SHAPE_TRIANGLE_BOTTOM_RIGHT,
|
||||
Button_Filled_rectangle,Button_Filled_rectangle,
|
||||
0,0,
|
||||
Do_nothing,
|
||||
FAMILY_TOOL);
|
||||
|
||||
Init_button(BUTTON_CIRCLES,
|
||||
68,18,
|
||||
15,15,
|
||||
BUTTON_SHAPE_TRIANGLE_TOP_LEFT,
|
||||
Button_Empty_circle,Button_Empty_ellipse,
|
||||
0,0,
|
||||
Do_nothing,
|
||||
FAMILY_TOOL);
|
||||
"Empty circles / ellipses",
|
||||
68,18,
|
||||
15,15,
|
||||
BUTTON_SHAPE_TRIANGLE_TOP_LEFT,
|
||||
Button_Empty_circle,Button_Empty_ellipse,
|
||||
0,0,
|
||||
Do_nothing,
|
||||
FAMILY_TOOL);
|
||||
|
||||
Init_button(BUTTON_FILLCIRC,
|
||||
69,19,
|
||||
15,15,
|
||||
BUTTON_SHAPE_TRIANGLE_BOTTOM_RIGHT,
|
||||
Button_Filled_circle,Button_Filled_ellipse,
|
||||
0,0,
|
||||
Do_nothing,
|
||||
FAMILY_TOOL);
|
||||
"Filled circles / ellips.",
|
||||
69,19,
|
||||
15,15,
|
||||
BUTTON_SHAPE_TRIANGLE_BOTTOM_RIGHT,
|
||||
Button_Filled_circle,Button_Filled_ellipse,
|
||||
0,0,
|
||||
Do_nothing,
|
||||
FAMILY_TOOL);
|
||||
|
||||
Init_button(BUTTON_GRADRECT,
|
||||
85,1,
|
||||
16,16,
|
||||
BUTTON_SHAPE_RECTANGLE,
|
||||
Button_Grad_rectangle,Button_Gradients,
|
||||
0,0,
|
||||
Do_nothing,
|
||||
FAMILY_TOOL);
|
||||
"Grad. rect / Grad. menu ",
|
||||
85,1,
|
||||
16,16,
|
||||
BUTTON_SHAPE_RECTANGLE,
|
||||
Button_Grad_rectangle,Button_Gradients,
|
||||
0,0,
|
||||
Do_nothing,
|
||||
FAMILY_TOOL);
|
||||
|
||||
Init_button(BUTTON_SPHERES,
|
||||
85,18,
|
||||
16,16,
|
||||
BUTTON_SHAPE_RECTANGLE,
|
||||
Button_Grad_circle,Button_Grad_ellipse,
|
||||
0,0,
|
||||
Do_nothing,
|
||||
FAMILY_TOOL);
|
||||
"Grad. spheres / ellipses",
|
||||
85,18,
|
||||
16,16,
|
||||
BUTTON_SHAPE_RECTANGLE,
|
||||
Button_Grad_circle,Button_Grad_ellipse,
|
||||
0,0,
|
||||
Do_nothing,
|
||||
FAMILY_TOOL);
|
||||
|
||||
Init_button(BUTTON_BRUSH,
|
||||
106,1,
|
||||
15,15,
|
||||
BUTTON_SHAPE_TRIANGLE_TOP_LEFT,
|
||||
Button_Brush,Button_Restore_brush,
|
||||
0,0,
|
||||
Button_Unselect_brush,
|
||||
FAMILY_INTERRUPTION);
|
||||
"Brush grab. / Restore ",
|
||||
106,1,
|
||||
15,15,
|
||||
BUTTON_SHAPE_TRIANGLE_TOP_LEFT,
|
||||
Button_Brush,Button_Restore_brush,
|
||||
0,0,
|
||||
Button_Unselect_brush,
|
||||
FAMILY_INTERRUPTION);
|
||||
|
||||
Init_button(BUTTON_POLYBRUSH,
|
||||
107,2,
|
||||
15,15,
|
||||
BUTTON_SHAPE_TRIANGLE_BOTTOM_RIGHT,
|
||||
Button_Lasso,Button_Restore_brush,
|
||||
0,0,
|
||||
Button_Unselect_lasso,
|
||||
FAMILY_INTERRUPTION);
|
||||
"Lasso / Restore brush ",
|
||||
107,2,
|
||||
15,15,
|
||||
BUTTON_SHAPE_TRIANGLE_BOTTOM_RIGHT,
|
||||
Button_Lasso,Button_Restore_brush,
|
||||
0,0,
|
||||
Button_Unselect_lasso,
|
||||
FAMILY_INTERRUPTION);
|
||||
|
||||
Init_button(BUTTON_BRUSH_EFFECTS,
|
||||
106, 18,
|
||||
16, 16,
|
||||
BUTTON_SHAPE_RECTANGLE,
|
||||
#ifdef __ENABLE_LUA__
|
||||
Button_Brush_FX, Button_Brush_Factory,
|
||||
"Brush effects / factory ",
|
||||
#else
|
||||
Button_Brush_FX, Button_Brush_FX,
|
||||
"Brush effects ",
|
||||
#endif
|
||||
0,0,
|
||||
Do_nothing,
|
||||
FAMILY_INSTANT);
|
||||
106, 18,
|
||||
16, 16,
|
||||
BUTTON_SHAPE_RECTANGLE,
|
||||
#ifdef __ENABLE_LUA__
|
||||
Button_Brush_FX, Button_Brush_Factory,
|
||||
#else
|
||||
Button_Brush_FX, Button_Brush_FX,
|
||||
#endif
|
||||
0,0,
|
||||
Do_nothing,
|
||||
FAMILY_INSTANT);
|
||||
|
||||
Init_button(BUTTON_EFFECTS,
|
||||
123,1,
|
||||
16,16,
|
||||
BUTTON_SHAPE_RECTANGLE,
|
||||
Button_Effects,Button_Effects,
|
||||
0,0,
|
||||
Do_nothing,
|
||||
FAMILY_EFFECTS);
|
||||
"Drawing modes (effects) ",
|
||||
123,1,
|
||||
16,16,
|
||||
BUTTON_SHAPE_RECTANGLE,
|
||||
Button_Effects,Button_Effects,
|
||||
0,0,
|
||||
Do_nothing,
|
||||
FAMILY_EFFECTS);
|
||||
|
||||
Init_button(BUTTON_TEXT,
|
||||
123,18,
|
||||
16,16,
|
||||
BUTTON_SHAPE_RECTANGLE,
|
||||
Button_Text,Button_Text,
|
||||
0,0,
|
||||
Do_nothing,
|
||||
FAMILY_INSTANT);
|
||||
"Text ",
|
||||
123,18,
|
||||
16,16,
|
||||
BUTTON_SHAPE_RECTANGLE,
|
||||
Button_Text,Button_Text,
|
||||
0,0,
|
||||
Do_nothing,
|
||||
FAMILY_INSTANT);
|
||||
|
||||
Init_button(BUTTON_MAGNIFIER,
|
||||
140,1,
|
||||
16,16,
|
||||
BUTTON_SHAPE_RECTANGLE,
|
||||
Button_Magnify,Button_Magnify_menu,
|
||||
0,1,
|
||||
Button_Unselect_magnifier,
|
||||
FAMILY_INTERRUPTION);
|
||||
"Magnify mode / Menu ",
|
||||
140,1,
|
||||
16,16,
|
||||
BUTTON_SHAPE_RECTANGLE,
|
||||
Button_Magnify,Button_Magnify_menu,
|
||||
0,1,
|
||||
Button_Unselect_magnifier,
|
||||
FAMILY_INTERRUPTION);
|
||||
|
||||
Init_button(BUTTON_COLORPICKER,
|
||||
140,18,
|
||||
16,16,
|
||||
BUTTON_SHAPE_RECTANGLE,
|
||||
Button_Colorpicker,Button_Invert_foreback,
|
||||
0,0,
|
||||
Button_Unselect_colorpicker,
|
||||
FAMILY_INTERRUPTION);
|
||||
"Pipette / Invert colors ",
|
||||
140,18,
|
||||
16,16,
|
||||
BUTTON_SHAPE_RECTANGLE,
|
||||
Button_Colorpicker,Button_Invert_foreback,
|
||||
0,0,
|
||||
Button_Unselect_colorpicker,
|
||||
FAMILY_INTERRUPTION);
|
||||
|
||||
Init_button(BUTTON_RESOL,
|
||||
161,1,
|
||||
16,16,
|
||||
BUTTON_SHAPE_RECTANGLE,
|
||||
Button_Resolution,Button_Safety_resolution,
|
||||
0,0,
|
||||
Do_nothing,
|
||||
FAMILY_INSTANT);
|
||||
|
||||
"Screen size / Safe. res.",
|
||||
161,1,
|
||||
16,16,
|
||||
BUTTON_SHAPE_RECTANGLE,
|
||||
Button_Resolution,Button_Safety_resolution,
|
||||
0,0,
|
||||
Do_nothing,
|
||||
FAMILY_INSTANT);
|
||||
|
||||
Init_button(BUTTON_PAGE,
|
||||
161,18,
|
||||
16,16,
|
||||
BUTTON_SHAPE_RECTANGLE,
|
||||
Button_Page,Button_Copy_page,
|
||||
0,0,
|
||||
Do_nothing,
|
||||
FAMILY_INSTANT);
|
||||
"Go / Copy to other page ",
|
||||
161,18,
|
||||
16,16,
|
||||
BUTTON_SHAPE_RECTANGLE,
|
||||
Button_Page,Button_Copy_page,
|
||||
0,0,
|
||||
Do_nothing,
|
||||
FAMILY_INSTANT);
|
||||
|
||||
Init_button(BUTTON_SAVE,
|
||||
178,1,
|
||||
15,15,
|
||||
BUTTON_SHAPE_TRIANGLE_TOP_LEFT,
|
||||
Button_Save,Button_Autosave,
|
||||
0,0,
|
||||
Do_nothing,
|
||||
FAMILY_INSTANT);
|
||||
"Save as / Save ",
|
||||
178,1,
|
||||
15,15,
|
||||
BUTTON_SHAPE_TRIANGLE_TOP_LEFT,
|
||||
Button_Save,Button_Autosave,
|
||||
0,0,
|
||||
Do_nothing,
|
||||
FAMILY_INSTANT);
|
||||
|
||||
Init_button(BUTTON_LOAD,
|
||||
179,2,
|
||||
15,15,
|
||||
BUTTON_SHAPE_TRIANGLE_BOTTOM_RIGHT,
|
||||
Button_Load,Button_Reload,
|
||||
0,0,
|
||||
Do_nothing,
|
||||
FAMILY_INSTANT);
|
||||
"Load / Re-load ",
|
||||
179,2,
|
||||
15,15,
|
||||
BUTTON_SHAPE_TRIANGLE_BOTTOM_RIGHT,
|
||||
Button_Load,Button_Reload,
|
||||
0,0,
|
||||
Do_nothing,
|
||||
FAMILY_INSTANT);
|
||||
|
||||
Init_button(BUTTON_SETTINGS,
|
||||
178,18,
|
||||
16,16,
|
||||
BUTTON_SHAPE_RECTANGLE,
|
||||
Button_Settings,Button_Skins,
|
||||
0,0,
|
||||
Do_nothing,
|
||||
FAMILY_INSTANT);
|
||||
"Settings / Skins ",
|
||||
178,18,
|
||||
16,16,
|
||||
BUTTON_SHAPE_RECTANGLE,
|
||||
Button_Settings,Button_Skins,
|
||||
0,0,
|
||||
Do_nothing,
|
||||
FAMILY_INSTANT);
|
||||
|
||||
Init_button(BUTTON_CLEAR,
|
||||
195,1,
|
||||
17,16,
|
||||
BUTTON_SHAPE_RECTANGLE,
|
||||
Button_Clear,Button_Clear_with_backcolor,
|
||||
0,0,
|
||||
Do_nothing,
|
||||
FAMILY_INSTANT);
|
||||
"Clear / with backcolor ",
|
||||
195,1,
|
||||
17,16,
|
||||
BUTTON_SHAPE_RECTANGLE,
|
||||
Button_Clear,Button_Clear_with_backcolor,
|
||||
0,0,
|
||||
Do_nothing,
|
||||
FAMILY_INSTANT);
|
||||
|
||||
Init_button(BUTTON_HELP,
|
||||
195,18,
|
||||
17,16,
|
||||
BUTTON_SHAPE_RECTANGLE,
|
||||
Button_Help,Button_Stats,
|
||||
0,0,
|
||||
Do_nothing,
|
||||
FAMILY_INSTANT);
|
||||
"Help / Statistics ",
|
||||
195,18,
|
||||
17,16,
|
||||
BUTTON_SHAPE_RECTANGLE,
|
||||
Button_Help,Button_Stats,
|
||||
0,0,
|
||||
Do_nothing,
|
||||
FAMILY_INSTANT);
|
||||
|
||||
Init_button(BUTTON_UNDO,
|
||||
213,1,
|
||||
19,12,
|
||||
BUTTON_SHAPE_RECTANGLE,
|
||||
Button_Undo,Button_Redo,
|
||||
0,0,
|
||||
Do_nothing,
|
||||
FAMILY_INSTANT);
|
||||
"Undo / Redo ",
|
||||
213,1,
|
||||
19,12,
|
||||
BUTTON_SHAPE_RECTANGLE,
|
||||
Button_Undo,Button_Redo,
|
||||
0,0,
|
||||
Do_nothing,
|
||||
FAMILY_INSTANT);
|
||||
|
||||
Init_button(BUTTON_KILL,
|
||||
213,14,
|
||||
19,7,
|
||||
BUTTON_SHAPE_RECTANGLE,
|
||||
Button_Kill,Button_Kill,
|
||||
0,0,
|
||||
Do_nothing,
|
||||
FAMILY_INSTANT);
|
||||
"Kill current page ",
|
||||
213,14,
|
||||
19,7,
|
||||
BUTTON_SHAPE_RECTANGLE,
|
||||
Button_Kill,Button_Kill,
|
||||
0,0,
|
||||
Do_nothing,
|
||||
FAMILY_INSTANT);
|
||||
|
||||
Init_button(BUTTON_QUIT,
|
||||
213,22,
|
||||
19,12,
|
||||
BUTTON_SHAPE_RECTANGLE,
|
||||
Button_Quit,Button_Quit,
|
||||
0,0,
|
||||
Do_nothing,
|
||||
FAMILY_INSTANT);
|
||||
"Quit ",
|
||||
213,22,
|
||||
19,12,
|
||||
BUTTON_SHAPE_RECTANGLE,
|
||||
Button_Quit,Button_Quit,
|
||||
0,0,
|
||||
Do_nothing,
|
||||
FAMILY_INSTANT);
|
||||
|
||||
Init_button(BUTTON_PALETTE,
|
||||
237,9,
|
||||
16,8,
|
||||
BUTTON_SHAPE_RECTANGLE,
|
||||
Button_Palette,Button_Secondary_palette,
|
||||
0,0,
|
||||
Do_nothing,
|
||||
FAMILY_INSTANT);
|
||||
"Palette editor / setup ",
|
||||
237,9,
|
||||
16,8,
|
||||
BUTTON_SHAPE_RECTANGLE,
|
||||
Button_Palette,Button_Secondary_palette,
|
||||
0,0,
|
||||
Do_nothing,
|
||||
FAMILY_INSTANT);
|
||||
|
||||
Init_button(BUTTON_PAL_LEFT,
|
||||
237,18,
|
||||
15,15,
|
||||
BUTTON_SHAPE_TRIANGLE_TOP_LEFT,
|
||||
Button_Pal_left,Button_Pal_left_fast,
|
||||
0,0,
|
||||
Do_nothing,
|
||||
FAMILY_INSTANT);
|
||||
"Scroll pal. bkwd / Fast ",
|
||||
237,18,
|
||||
15,15,
|
||||
BUTTON_SHAPE_TRIANGLE_TOP_LEFT,
|
||||
Button_Pal_left,Button_Pal_left_fast,
|
||||
0,0,
|
||||
Do_nothing,
|
||||
FAMILY_INSTANT);
|
||||
|
||||
Init_button(BUTTON_PAL_RIGHT,
|
||||
238,19,
|
||||
15,15,
|
||||
BUTTON_SHAPE_TRIANGLE_BOTTOM_RIGHT,
|
||||
Button_Pal_right,Button_Pal_right_fast,
|
||||
0,0,
|
||||
Do_nothing,
|
||||
FAMILY_INSTANT);
|
||||
"Scroll pal. fwd / Fast ",
|
||||
238,19,
|
||||
15,15,
|
||||
BUTTON_SHAPE_TRIANGLE_BOTTOM_RIGHT,
|
||||
Button_Pal_right,Button_Pal_right_fast,
|
||||
0,0,
|
||||
Do_nothing,
|
||||
FAMILY_INSTANT);
|
||||
|
||||
Init_button(BUTTON_CHOOSE_COL,
|
||||
MENU_WIDTH+1,1,
|
||||
1,32, // La largeur est mise à jour à chq chngmnt de mode
|
||||
BUTTON_SHAPE_NO_FRAME,
|
||||
Button_Select_forecolor,Button_Select_backcolor,
|
||||
1,1,
|
||||
Do_nothing,
|
||||
FAMILY_INSTANT);
|
||||
"Color #" ,
|
||||
MENU_WIDTH+1,1,
|
||||
1,32, // La largeur est mise à jour à chq chngmnt de mode
|
||||
BUTTON_SHAPE_NO_FRAME,
|
||||
Button_Select_forecolor,Button_Select_backcolor,
|
||||
1,1,
|
||||
Do_nothing,
|
||||
FAMILY_INSTANT);
|
||||
|
||||
// Layer bar
|
||||
#ifndef NOLAYERS
|
||||
Init_button(BUTTON_LAYER_MENU,
|
||||
0,0,
|
||||
57,9,
|
||||
BUTTON_SHAPE_RECTANGLE,
|
||||
Button_Layer_menu, Button_Layer_menu,
|
||||
0,0,
|
||||
Do_nothing,
|
||||
FAMILY_INSTANT);
|
||||
"Layers manager ",
|
||||
0,0,
|
||||
57,9,
|
||||
BUTTON_SHAPE_RECTANGLE,
|
||||
Button_Layer_menu, Button_Layer_menu,
|
||||
0,0,
|
||||
Do_nothing,
|
||||
FAMILY_INSTANT);
|
||||
Init_button(BUTTON_LAYER_COLOR,
|
||||
58,0,
|
||||
13,9,
|
||||
BUTTON_SHAPE_RECTANGLE,
|
||||
Button_Layer_get_transparent, Button_Layer_set_transparent,
|
||||
0,0,
|
||||
Do_nothing,
|
||||
FAMILY_INSTANT);
|
||||
"Get/Set transparent col.",
|
||||
58,0,
|
||||
13,9,
|
||||
BUTTON_SHAPE_RECTANGLE,
|
||||
Button_Layer_get_transparent, Button_Layer_set_transparent,
|
||||
0,0,
|
||||
Do_nothing,
|
||||
FAMILY_INSTANT);
|
||||
Init_button(BUTTON_LAYER_MERGE,
|
||||
72,0,
|
||||
13,9,
|
||||
BUTTON_SHAPE_RECTANGLE,
|
||||
Button_Layer_merge, Button_Layer_merge,
|
||||
0,0,
|
||||
Do_nothing,
|
||||
FAMILY_INSTANT);
|
||||
"Merge layer ",
|
||||
72,0,
|
||||
13,9,
|
||||
BUTTON_SHAPE_RECTANGLE,
|
||||
Button_Layer_merge, Button_Layer_merge,
|
||||
0,0,
|
||||
Do_nothing,
|
||||
FAMILY_INSTANT);
|
||||
Init_button(BUTTON_LAYER_ADD,
|
||||
86,0,
|
||||
13,9,
|
||||
BUTTON_SHAPE_RECTANGLE,
|
||||
Button_Layer_add, Button_Layer_add,
|
||||
0,0,
|
||||
Do_nothing,
|
||||
FAMILY_INSTANT);
|
||||
"Add layer ",
|
||||
86,0,
|
||||
13,9,
|
||||
BUTTON_SHAPE_RECTANGLE,
|
||||
Button_Layer_add, Button_Layer_add,
|
||||
0,0,
|
||||
Do_nothing,
|
||||
FAMILY_INSTANT);
|
||||
Init_button(BUTTON_LAYER_REMOVE,
|
||||
100,0,
|
||||
13,9,
|
||||
BUTTON_SHAPE_RECTANGLE,
|
||||
Button_Layer_remove, Button_Layer_remove,
|
||||
0,0,
|
||||
Do_nothing,
|
||||
FAMILY_INSTANT);
|
||||
"Drop layer ",
|
||||
100,0,
|
||||
13,9,
|
||||
BUTTON_SHAPE_RECTANGLE,
|
||||
Button_Layer_remove, Button_Layer_remove,
|
||||
0,0,
|
||||
Do_nothing,
|
||||
FAMILY_INSTANT);
|
||||
Init_button(BUTTON_LAYER_DOWN,
|
||||
114,0,
|
||||
13,9,
|
||||
BUTTON_SHAPE_RECTANGLE,
|
||||
Button_Layer_down, Button_Layer_down,
|
||||
0,0,
|
||||
Do_nothing,
|
||||
FAMILY_INSTANT);
|
||||
"Lower layer ",
|
||||
114,0,
|
||||
13,9,
|
||||
BUTTON_SHAPE_RECTANGLE,
|
||||
Button_Layer_down, Button_Layer_down,
|
||||
0,0,
|
||||
Do_nothing,
|
||||
FAMILY_INSTANT);
|
||||
Init_button(BUTTON_LAYER_UP,
|
||||
128,0,
|
||||
13,9,
|
||||
BUTTON_SHAPE_RECTANGLE,
|
||||
Button_Layer_up, Button_Layer_up,
|
||||
0,0,
|
||||
Do_nothing,
|
||||
FAMILY_INSTANT);
|
||||
"Raise layer ",
|
||||
128,0,
|
||||
13,9,
|
||||
BUTTON_SHAPE_RECTANGLE,
|
||||
Button_Layer_up, Button_Layer_up,
|
||||
0,0,
|
||||
Do_nothing,
|
||||
FAMILY_INSTANT);
|
||||
Init_button(BUTTON_LAYER_SELECT,
|
||||
142,0,
|
||||
13,9, // Will be updated according to actual number of layers
|
||||
BUTTON_SHAPE_NO_FRAME,
|
||||
Button_Layer_select, Button_Layer_toggle,
|
||||
0,0,
|
||||
Do_nothing,
|
||||
FAMILY_INSTANT);
|
||||
"Layer select / toggle ",
|
||||
142,0,
|
||||
13,9, // Will be updated according to actual number of layers
|
||||
BUTTON_SHAPE_NO_FRAME,
|
||||
Button_Layer_select, Button_Layer_toggle,
|
||||
0,0,
|
||||
Do_nothing,
|
||||
FAMILY_INSTANT);
|
||||
#else
|
||||
// Anim bar
|
||||
Init_button(BUTTON_LAYER_MENU,
|
||||
0,0,
|
||||
44,13,
|
||||
BUTTON_SHAPE_RECTANGLE,
|
||||
Button_Layer_menu, Button_Layer_menu,
|
||||
0,0,
|
||||
Do_nothing,
|
||||
FAMILY_INSTANT);
|
||||
"Layers manager ",
|
||||
0,0,
|
||||
44,13,
|
||||
BUTTON_SHAPE_RECTANGLE,
|
||||
Button_Layer_menu, Button_Layer_menu,
|
||||
0,0,
|
||||
Do_nothing,
|
||||
FAMILY_INSTANT);
|
||||
Init_button(BUTTON_ANIM_TIME,
|
||||
45,0,
|
||||
13,13,
|
||||
BUTTON_SHAPE_RECTANGLE,
|
||||
Button_Anim_time, Button_Anim_time,
|
||||
0,0,
|
||||
Do_nothing,
|
||||
FAMILY_INSTANT);
|
||||
"Set frame time ",
|
||||
45,0,
|
||||
13,13,
|
||||
BUTTON_SHAPE_RECTANGLE,
|
||||
Button_Anim_time, Button_Anim_time,
|
||||
0,0,
|
||||
Do_nothing,
|
||||
FAMILY_INSTANT);
|
||||
Init_button(BUTTON_ANIM_FIRST_FRAME,
|
||||
116,0,
|
||||
13,13,
|
||||
BUTTON_SHAPE_RECTANGLE,
|
||||
Button_Anim_first_frame, Button_Anim_first_frame,
|
||||
0,0,
|
||||
Do_nothing,
|
||||
FAMILY_INSTANT);
|
||||
"Go to first frame ",
|
||||
116,0,
|
||||
13,13,
|
||||
BUTTON_SHAPE_RECTANGLE,
|
||||
Button_Anim_first_frame, Button_Anim_first_frame,
|
||||
0,0,
|
||||
Do_nothing,
|
||||
FAMILY_INSTANT);
|
||||
Init_button(BUTTON_ANIM_PREV_FRAME,
|
||||
130,0,
|
||||
13,13,
|
||||
BUTTON_SHAPE_RECTANGLE,
|
||||
Button_Anim_prev_frame, Button_Anim_continuous_prev,
|
||||
0,1,
|
||||
Do_nothing,
|
||||
FAMILY_INSTANT);
|
||||
"Go to previous frame ",
|
||||
130,0,
|
||||
13,13,
|
||||
BUTTON_SHAPE_RECTANGLE,
|
||||
Button_Anim_prev_frame, Button_Anim_continuous_prev,
|
||||
0,1,
|
||||
Do_nothing,
|
||||
FAMILY_INSTANT);
|
||||
Init_button(BUTTON_ANIM_NEXT_FRAME,
|
||||
144,0,
|
||||
13,13,
|
||||
BUTTON_SHAPE_RECTANGLE,
|
||||
Button_Anim_next_frame, Button_Anim_continuous_next,
|
||||
0,1,
|
||||
Do_nothing,
|
||||
FAMILY_INSTANT);
|
||||
"Go to next frame ",
|
||||
144,0,
|
||||
13,13,
|
||||
BUTTON_SHAPE_RECTANGLE,
|
||||
Button_Anim_next_frame, Button_Anim_continuous_next,
|
||||
0,1,
|
||||
Do_nothing,
|
||||
FAMILY_INSTANT);
|
||||
Init_button(BUTTON_ANIM_LAST_FRAME,
|
||||
158,0,
|
||||
13,13,
|
||||
BUTTON_SHAPE_RECTANGLE,
|
||||
Button_Anim_last_frame, Button_Anim_last_frame,
|
||||
0,0,
|
||||
Do_nothing,
|
||||
FAMILY_INSTANT);
|
||||
"Go to last frame ",
|
||||
158,0,
|
||||
13,13,
|
||||
BUTTON_SHAPE_RECTANGLE,
|
||||
Button_Anim_last_frame, Button_Anim_last_frame,
|
||||
0,0,
|
||||
Do_nothing,
|
||||
FAMILY_INSTANT);
|
||||
Init_button(BUTTON_LAYER_ADD,
|
||||
177,0,
|
||||
13,13,
|
||||
BUTTON_SHAPE_RECTANGLE,
|
||||
Button_Layer_add, Button_Layer_add,
|
||||
0,0,
|
||||
Do_nothing,
|
||||
FAMILY_INSTANT);
|
||||
"Add layer ",
|
||||
177,0,
|
||||
13,13,
|
||||
BUTTON_SHAPE_RECTANGLE,
|
||||
Button_Layer_add, Button_Layer_add,
|
||||
0,0,
|
||||
Do_nothing,
|
||||
FAMILY_INSTANT);
|
||||
Init_button(BUTTON_LAYER_REMOVE,
|
||||
191,0,
|
||||
13,13,
|
||||
BUTTON_SHAPE_RECTANGLE,
|
||||
Button_Layer_remove, Button_Layer_remove,
|
||||
0,0,
|
||||
Do_nothing,
|
||||
FAMILY_INSTANT);
|
||||
"Drop layer ",
|
||||
191,0,
|
||||
13,13,
|
||||
BUTTON_SHAPE_RECTANGLE,
|
||||
Button_Layer_remove, Button_Layer_remove,
|
||||
0,0,
|
||||
Do_nothing,
|
||||
FAMILY_INSTANT);
|
||||
Init_button(BUTTON_LAYER_DOWN,
|
||||
205,0,
|
||||
13,13,
|
||||
BUTTON_SHAPE_RECTANGLE,
|
||||
Button_Layer_down, Button_Layer_down,
|
||||
0,0,
|
||||
Do_nothing,
|
||||
FAMILY_INSTANT);
|
||||
"Lower layer ",
|
||||
205,0,
|
||||
13,13,
|
||||
BUTTON_SHAPE_RECTANGLE,
|
||||
Button_Layer_down, Button_Layer_down,
|
||||
0,0,
|
||||
Do_nothing,
|
||||
FAMILY_INSTANT);
|
||||
Init_button(BUTTON_LAYER_UP,
|
||||
219,0,
|
||||
13,13,
|
||||
BUTTON_SHAPE_RECTANGLE,
|
||||
Button_Layer_up, Button_Layer_up,
|
||||
0,0,
|
||||
Do_nothing,
|
||||
FAMILY_INSTANT);
|
||||
"Raise layer ",
|
||||
219,0,
|
||||
13,13,
|
||||
BUTTON_SHAPE_RECTANGLE,
|
||||
Button_Layer_up, Button_Layer_up,
|
||||
0,0,
|
||||
Do_nothing,
|
||||
FAMILY_INSTANT);
|
||||
#endif
|
||||
// Status bar
|
||||
Init_button(BUTTON_HIDE,
|
||||
0,0,
|
||||
16,9,
|
||||
BUTTON_SHAPE_RECTANGLE,
|
||||
Button_Toggle_all_toolbars, Button_Toggle_toolbar,
|
||||
0,1,
|
||||
Do_nothing,
|
||||
FAMILY_TOOLBAR);
|
||||
"Hide toolbars / Select ",
|
||||
0,0,
|
||||
16,9,
|
||||
BUTTON_SHAPE_RECTANGLE,
|
||||
Button_Toggle_all_toolbars, Button_Toggle_toolbar,
|
||||
0,1,
|
||||
Do_nothing,
|
||||
FAMILY_TOOLBAR);
|
||||
}
|
||||
|
||||
|
||||
|
||||
@ -41,6 +41,7 @@
|
||||
#include "sdlscreen.h"
|
||||
#include "palette.h"
|
||||
|
||||
T_Toolbar_button Buttons_Pool[NB_BUTTONS];
|
||||
|
||||
/// Width of one layer button, in pixels before scaling
|
||||
word Layer_button_width = 1;
|
||||
|
||||
@ -114,4 +114,33 @@ extern word Layer_button_width;
|
||||
/// Copy viewport settings and offsets from the Main to the Spare.
|
||||
void Copy_view_to_spare(void);
|
||||
|
||||
/// Definition of a toolbar button
|
||||
typedef struct
|
||||
{
|
||||
// Button aspect
|
||||
word X_offset; ///< Position relative to menu's left
|
||||
word Y_offset; ///< Position relative to menu's top
|
||||
word Width; ///< Button's active width
|
||||
word Height; ///< Button's active heigth
|
||||
byte Pressed; ///< Button is currently pressed
|
||||
byte Shape; ///< Shape, listed in enum ::BUTTON_SHAPES
|
||||
signed char Icon; ///< Which icon to display: Either the one from the toolbar (-1) or one of ::MENU_SPRITE
|
||||
|
||||
// Triggers on mouse/keyboard
|
||||
Func_action Left_action; ///< Action triggered by a left mouseclick on the button
|
||||
Func_action Right_action; ///< Action triggered by a right mouseclick on the button
|
||||
word Left_shortcut[2]; ///< Keyboard shortcut for a left mouseclick
|
||||
word Right_shortcut[2];///< Keyboard shortcut for a right mouseclick
|
||||
byte Left_instant; ///< Will not wait for mouse release before triggering action
|
||||
byte Right_instant; ///< Will not wait for mouse release before triggering action
|
||||
const char * Tooltip; ///< Text in status bar when button is hovered
|
||||
|
||||
// Data used when the button is unselected
|
||||
Func_action Unselect_action; ///< Action triggered by unselecting the button
|
||||
byte Family; ///< enum ::FAMILY_OF_BUTTONS.
|
||||
|
||||
} T_Toolbar_button;
|
||||
|
||||
extern T_Toolbar_button Buttons_Pool[NB_BUTTONS];
|
||||
|
||||
#endif
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user