diff --git a/share/grafx2/skins/skin_Aurora.png b/share/grafx2/skins/skin_Aurora.png index 6bb53798..d99bb883 100644 Binary files a/share/grafx2/skins/skin_Aurora.png and b/share/grafx2/skins/skin_Aurora.png differ diff --git a/share/grafx2/skins/skin_Clax2.gif b/share/grafx2/skins/skin_Clax2.gif index 3361d541..6c27d3b3 100644 Binary files a/share/grafx2/skins/skin_Clax2.gif and b/share/grafx2/skins/skin_Clax2.gif differ diff --git a/share/grafx2/skins/skin_Clax3.gif b/share/grafx2/skins/skin_Clax3.gif index 774405b9..ffefeaf3 100644 Binary files a/share/grafx2/skins/skin_Clax3.gif and b/share/grafx2/skins/skin_Clax3.gif differ diff --git a/share/grafx2/skins/skin_Clax4.gif b/share/grafx2/skins/skin_Clax4.gif index 9f3a574f..294f97c8 100644 Binary files a/share/grafx2/skins/skin_Clax4.gif and b/share/grafx2/skins/skin_Clax4.gif differ diff --git a/share/grafx2/skins/skin_DPaint.png b/share/grafx2/skins/skin_DPaint.png index 63fe8f3e..3ab2b528 100644 Binary files a/share/grafx2/skins/skin_DPaint.png and b/share/grafx2/skins/skin_DPaint.png differ diff --git a/share/grafx2/skins/skin_classic.png b/share/grafx2/skins/skin_classic.png index 188898ac..9221a6fe 100644 Binary files a/share/grafx2/skins/skin_classic.png and b/share/grafx2/skins/skin_classic.png differ diff --git a/share/grafx2/skins/skin_modern.png b/share/grafx2/skins/skin_modern.png index a722e69a..c9683145 100644 Binary files a/share/grafx2/skins/skin_modern.png and b/share/grafx2/skins/skin_modern.png differ diff --git a/share/grafx2/skins/skin_scenish.png b/share/grafx2/skins/skin_scenish.png index 4fa79f7d..07376388 100644 Binary files a/share/grafx2/skins/skin_scenish.png and b/share/grafx2/skins/skin_scenish.png differ diff --git a/src/const.h b/src/const.h index 0938f367..2d42648f 100644 --- a/src/const.h +++ b/src/const.h @@ -40,9 +40,9 @@ #define NB_ZOOM_FACTORS 15 ///< Number of zoom levels available in the magnifier. #define MENU_WIDTH 254 ///< Width of the menu (not counting the palette) #define MENU_HEIGHT 44 ///< Height of the menu. -#define NB_CURSOR_SPRITES 8 ///< Number of available mouse cursor sprites. -#define CURSOR_SPRITE_WIDTH 15 ///< Width of a mouse cursor sprite. -#define CURSOR_SPRITE_HEIGHT 15 ///< Height of a mouse cursor sprite. +#define NB_CURSOR_SPRITES 9 ///< Number of available mouse cursor sprites. +#define CURSOR_SPRITE_WIDTH 16 ///< Width of a mouse cursor sprite. +#define CURSOR_SPRITE_HEIGHT 16 ///< Height of a mouse cursor sprite. #define MENU_SPRITE_WIDTH 16 ///< Width of a menu sprite in pixels #define MENU_SPRITE_HEIGHT 16 ///< Height of a menu sprite in pixels #define EFFECT_SPRITE_WIDTH 14 ///< Width of an effect sprite in pixels @@ -187,17 +187,21 @@ enum BUTTON_SHAPES /// The different "mouse cursor" shapes enum CURSOR_SHAPES { + // Sprite based cursors first (also used as index in cursor sprite array) CURSOR_SHAPE_ARROW, CURSOR_SHAPE_TARGET, ///< This one uses the paintbrush - CURSOR_SHAPE_COLORPICKER, ///< This one uses the paintbrush + CURSOR_SHAPE_COLORPICKER, CURSOR_SHAPE_HOURGLASS, CURSOR_SHAPE_MULTIDIRECTIONAL, CURSOR_SHAPE_HORIZONTAL, CURSOR_SHAPE_THIN_TARGET, ///< This one uses the paintbrush CURSOR_SHAPE_THIN_COLORPICKER, ///< This one uses the paintbrush + CURSOR_SHAPE_BUCKET, + + // XOR/runtime-generated cursors last CURSOR_SHAPE_XOR_TARGET, CURSOR_SHAPE_XOR_RECTANGLE, - CURSOR_SHAPE_XOR_ROTATION + CURSOR_SHAPE_XOR_ROTATION, }; /// The different shapes that can be used as a paintbrush (paintbrush types go in the beginning) diff --git a/src/global.h b/src/global.h index 630b078c..a87d7796 100644 --- a/src/global.h +++ b/src/global.h @@ -887,8 +887,8 @@ GFX2_GLOBAL T_Brush_template Brush_container[BRUSH_CONTAINER_COLUMNS*BRUSH_CONTA CURSOR_SHAPE_XOR_TARGET , // Filled circle CURSOR_SHAPE_XOR_TARGET , // Empty ellipse CURSOR_SHAPE_XOR_TARGET , // Filled ellipse - CURSOR_SHAPE_TARGET , // Fill - CURSOR_SHAPE_TARGET , // Color replacer + CURSOR_SHAPE_BUCKET , // Fill + CURSOR_SHAPE_BUCKET , // Color replacer CURSOR_SHAPE_XOR_TARGET , // Rectangular brush grabbing CURSOR_SHAPE_TARGET , // Polygonal brush grabbing CURSOR_SHAPE_COLORPICKER , // Colorpicker diff --git a/src/init.c b/src/init.c index c42b3aea..01e14533 100644 --- a/src/init.c +++ b/src/init.c @@ -267,7 +267,7 @@ byte Parse_skin(SDL_Surface * gui, T_Gui_skin *gfx) int char_2=0; // grands titres de l'aide. Chaque indice avance dans int char_3=0; // l'une des fontes dans l'ordre : 1 2 int char_4=0; // 3 4 - byte mouse_cursor_area[29][29]; + byte mouse_cursor_area[31][29]; SDL_Palette * SDLPal; // Default palette @@ -475,12 +475,12 @@ byte Parse_skin(SDL_Surface * gui, T_Gui_skin *gfx) if (GUI_seek_right(gui, &cursor_x, cursor_y, neutral_color, "mouse cursor")) return 1; } - if (Read_GUI_block(gfx, gui, cursor_x, cursor_y, mouse_cursor_area, 29, 29, "mouse cursor",1)) + if (Read_GUI_block(gfx, gui, cursor_x, cursor_y, mouse_cursor_area, 29, 31, "mouse cursor",1)) return 1; Center_GUI_cursor(gfx, (byte *)mouse_cursor_area,i); cursor_x+=29; } - cursor_y+=29; + cursor_y+=31; // Menu sprites for (i=0; iCursor_offset_X[shape]; start_y=Mouse_Y-Gfx->Cursor_offset_Y[shape]; - for (y_pos=start_y,counter_y=0;counter_y<15;y_pos++,counter_y++) + for (y_pos=start_y,counter_y=0;counter_y=Screen_height) break; - for (x_pos=start_x,counter_x=0;counter_x<15;x_pos++,counter_x++) + for (x_pos=start_x,counter_x=0;counter_x=Screen_width) break; @@ -2384,6 +2385,7 @@ void Hide_cursor(void) case CURSOR_SHAPE_MULTIDIRECTIONAL : case CURSOR_SHAPE_HORIZONTAL : + case CURSOR_SHAPE_BUCKET : if (Cursor_hidden) break; @@ -2392,11 +2394,11 @@ void Hide_cursor(void) start_x=Mouse_X-Gfx->Cursor_offset_X[shape]; start_y=Mouse_Y-Gfx->Cursor_offset_Y[shape]; - for (y_pos=start_y,counter_y=0;counter_y<15;y_pos++,counter_y++) + for (y_pos=start_y,counter_y=0;counter_y=Screen_height) break; - for (x_pos=start_x,counter_x=0;counter_x<15;x_pos++,counter_x++) + for (x_pos=start_x,counter_x=0;counter_x=Screen_width) break;