From 8a6ecec9ecaccd3a7053ce6f7f67d5a393692dfe Mon Sep 17 00:00:00 2001 From: Pere Pujal i Carabantes Date: Fri, 11 Sep 2020 01:17:43 +0200 Subject: [PATCH 01/10] Big changes to allow resizing the buttons of the interface. Still to do: Let the user choose the size of the buttons via config file and command line Investigate why some of the magic icons displays all black. --- src/tuxpaint.c | 1079 +++++++++++++++++++++++++----------------------- 1 file changed, 560 insertions(+), 519 deletions(-) diff --git a/src/tuxpaint.c b/src/tuxpaint.c index 7f7de9f94..026999cd7 100644 --- a/src/tuxpaint.c +++ b/src/tuxpaint.c @@ -708,10 +708,12 @@ static SDL_Rect old_dest; static int button_w; /* was 48 */ static int button_h; /* was 48 */ - +static float button_scale = 2; /* To be set from user preferences, should default to 1 Change to 1.5, 2, 2.5, etc to test for now */ static int color_button_w; /* was 32 */ static int color_button_h; /* was 48 */ +static int buttons_tall; /* promoted to a global variable from setup_normal_screen_layout() */ + /* Define button grid dimensions. (in button units) */ /* These are the maximum slots -- some may be unused. */ static grid_dims gd_tools; /* was 2x7 */ @@ -723,13 +725,14 @@ static grid_dims gd_toolopt; /* was 2x7 */ /* *INDENT-ON* */ static grid_dims gd_colors; /* was 17x1 */ -#define HEIGHTOFFSET (((WINDOW_HEIGHT - 480) / 48) * 48) -#define TOOLOFFSET (HEIGHTOFFSET / 48 * 2) +#define ORIGINAL_BUTTON_SIZE 48 /* Original Button Size */ +#define HEIGHTOFFSET (((WINDOW_HEIGHT - 480) / button_h) * button_h) +#define TOOLOFFSET (HEIGHTOFFSET / button_h * 2) #define PROMPTOFFSETX (WINDOW_WIDTH - 640) / 2 #define PROMPTOFFSETY (HEIGHTOFFSET / 2) -#define THUMB_W ((WINDOW_WIDTH - 96 - 96) / 4) -#define THUMB_H (((48 * 7 + 40 + HEIGHTOFFSET) - 72) / 4) +#define THUMB_W ((WINDOW_WIDTH - r_ttools.w - r_ttoolopt.w) / 4) +#define THUMB_H (((button_h * buttons_tall + r_ttools.h) - button_h - button_h / 2) / 4) #ifdef NOKIA_770 static int WINDOW_WIDTH = 800; @@ -746,7 +749,6 @@ static int WINDOW_HEIGHT = 600; static void magic_putpixel(SDL_Surface * surface, int x, int y, Uint32 pixel); static Uint32 magic_getpixel(SDL_Surface * surface, int x, int y); - /** * Sets a variety of screen layout globals, based on the * size of the window/screen Tux Paint is being displayed on @@ -754,10 +756,8 @@ static Uint32 magic_getpixel(SDL_Surface * surface, int x, int y); */ static void setup_normal_screen_layout(void) { - int buttons_tall; - - button_w = 48; - button_h = 48; + button_w = 48 * button_scale; + button_h = 48 * button_scale; gd_toolopt.cols = 2; gd_tools.cols = 2; @@ -765,17 +765,17 @@ static void setup_normal_screen_layout(void) r_ttools.x = 0; r_ttools.y = 0; r_ttools.w = gd_tools.cols * button_w; - r_ttools.h = 40; + r_ttools.h = 40 * button_scale; r_ttoolopt.w = gd_toolopt.cols * button_w; - r_ttoolopt.h = 40; + r_ttoolopt.h = 40 * button_scale; r_ttoolopt.x = WINDOW_WIDTH - r_ttoolopt.w; r_ttoolopt.y = 0; gd_colors.rows = 1; gd_colors.cols = (NUM_COLORS + gd_colors.rows - 1) / gd_colors.rows; - r_colors.h = 48; + r_colors.h = 48 * button_scale; color_button_h = r_colors.h / gd_colors.rows; r_tcolors.h = r_colors.h; @@ -798,7 +798,7 @@ static void setup_normal_screen_layout(void) r_tuxarea.w = WINDOW_WIDTH; /* need 56 minimum for the Tux area */ - buttons_tall = (WINDOW_HEIGHT - r_ttoolopt.h - 56 - r_colors.h) / button_h; + buttons_tall = (WINDOW_HEIGHT - r_ttoolopt.h - 56 * button_scale - r_colors.h) / button_h; gd_tools.rows = buttons_tall; gd_toolopt.rows = buttons_tall; @@ -1067,7 +1067,7 @@ static void update_canvas_ex_r(int x1, int y1, int x2, int y2, int screen_too) SDL_BlitSurface(img_starter, &dest, canvas, &dest); } - dest.x = x1 + 96; + dest.x = x1 + r_ttools.w; SDL_BlitSurface(canvas, &src, screen, &dest); @@ -1077,7 +1077,7 @@ static void update_canvas_ex_r(int x1, int y1, int x2, int y2, int screen_too) SDL_BlitSurface(label, &src, screen, &dest); if (screen_too) - update_screen(x1 + 96, y1, x2 + 96, y2); + update_screen(x1 + r_ttools.w, y1, x2 + r_ttools.w, y2); } /** @@ -1123,7 +1123,7 @@ static void update_canvas_ex(int x1, int y1, int x2, int y2, int screen_too) SDL_BlitSurface(label, NULL, screen, &r_label); if (screen_too) - update_screen(x1 + 96, y1, x2 + 96, y2); + update_screen(x1 + r_ttools.w, y1, x2 + r_ttools.w, y2); } /** @@ -2281,7 +2281,7 @@ static void mainloop(void) keyglobal = 0; kbd = NULL; - if (NUM_TOOLS > 14 + TOOLOFFSET) + if (NUM_TOOLS > buttons_tall * gd_tools.cols) { real_r_tools.h = r_tools.h - button_h; real_r_tools.y = r_tools.y + button_h / 2; @@ -3066,7 +3066,8 @@ static void mainloop(void) } } } - update_canvas(0, 0, WINDOW_WIDTH - 96, (48 * 7) + 40 + HEIGHTOFFSET); + update_canvas(0, 0, WINDOW_WIDTH - r_ttoolopt.w, (button_h * buttons_tall) + r_ttools.h); + old_tool = cur_tool; cur_tool = whicht; draw_toolbar(); @@ -3449,7 +3450,7 @@ static void mainloop(void) } else if ((event.button.y > real_r_tools.y + real_r_tools.h) - && (tool_scroll < NUM_TOOLS - 12 - TOOLOFFSET)) + && (tool_scroll < NUM_TOOLS - buttons_tall * gd_tools.cols + gd_tools.cols)) { tool_scroll += gd_tools.cols; draw_toolbar(); @@ -3633,7 +3634,7 @@ static void mainloop(void) stamp_data[stamp_group][cur_stamp[stamp_group]]->size = (((MAX_STAMP_SIZE - MIN_STAMP_SIZE + 1 /* +1 to address lack of ability to get back to max default stamp size (SF Bug #1668235 -bjk 2011.01.08) */ - ) * (event.button.x - (WINDOW_WIDTH - 96))) / 96) + MIN_STAMP_SIZE; + ) * (event.button.x - (WINDOW_WIDTH - r_ttoolopt.w))) / r_ttoolopt.w) + MIN_STAMP_SIZE; #ifdef DEBUG printf("Old size = %d, Chose %0.4f, New size =%d\n", old_size, choice, @@ -3921,7 +3922,7 @@ static void mainloop(void) if (cur_label == LABEL_SELECT) { cur_label = LABEL_LABEL; - update_canvas(0, 0, WINDOW_WIDTH - 96, (48 * 7) + 40 + HEIGHTOFFSET); + update_canvas(0, 0, WINDOW_WIDTH - r_ttoolopt.w, (button_h * buttons_tall) + r_ttoolopt.h); if (onscreen_keyboard) { SDL_BlitSurface(kbd->surface, &kbd->rect, screen, &kbd_rect); @@ -3932,7 +3933,7 @@ static void mainloop(void) { if (are_labels()) { - update_canvas_ex_r(kbd_rect.x - 96, kbd_rect.y, + update_canvas_ex_r(kbd_rect.x - r_ttools.w, kbd_rect.y, kbd_rect.x + kbd_rect.w, kbd_rect.y + kbd_rect.h, 1); if (texttool_len > 0) @@ -5009,7 +5010,7 @@ static void mainloop(void) sqrt((shape_start_x - shape_current_x) * (shape_start_x - shape_current_x) + (shape_start_y - shape_current_y) * (shape_start_y - shape_current_y)); - SDL_WarpMouse(shape_current_x + 96, shape_start_y); + SDL_WarpMouse(shape_current_x + r_ttools.w, shape_start_y); do_setcursor(cursor_rotate); @@ -5122,11 +5123,11 @@ static void mainloop(void) if (HIT(r_tools)) { - int most = 14; + int most = buttons_tall * gd_tools.cols; /* Tools: */ - if (NUM_TOOLS > most + TOOLOFFSET) + if (NUM_TOOLS > most) { if (event.button.y < r_tools.y + button_h / 2) { @@ -5137,7 +5138,7 @@ static void mainloop(void) } else if (event.button.y > r_tools.y + r_tools.h - button_h / 2) { - if (tool_scroll < NUM_TOOLS - 12 - TOOLOFFSET) + if (tool_scroll < NUM_TOOLS - buttons_tall * gd_tools.cols + gd_tools.cols) do_setcursor(cursor_down); else do_setcursor(cursor_arrow); @@ -5230,7 +5231,7 @@ static void mainloop(void) { /* Are there scroll buttons? */ - if (event.button.y < 40 + 24) + if (event.button.y < r_ttoolopt.h + img_scroll_up->h) { /* Up button; is it available? */ @@ -5240,8 +5241,8 @@ static void mainloop(void) do_setcursor(cursor_arrow); } else if (event.button.y > - (48 * ((max - 2) / 2 + TOOLOFFSET / 2)) + 40 + 24 - && event.button.y <= (48 * ((max - 2) / 2 + TOOLOFFSET / 2)) + 40 + 24 + 24) + (button_h * ((max - 2) / 2 + TOOLOFFSET / 2)) + r_ttoolopt.h + img_scroll_up->h + && event.button.y <= (button_h * ((max - 2) / 2 + TOOLOFFSET / 2)) + r_ttoolopt.h + img_scroll_up->h + img_scroll_up->h) { /* Down button; is it available? */ @@ -5254,7 +5255,7 @@ static void mainloop(void) { /* One of the selectors: */ - which = ((event.button.y - 40 - 24) / 48) * 2 + (event.button.x - (WINDOW_WIDTH - 96)) / 48; + which = ((event.button.y - r_ttoolopt.h - img_scroll_up->h) / button_h) * 2 + (event.button.x - (WINDOW_WIDTH - r_ttoolopt.w)) / button_w; if (which < num_things) do_setcursor(cursor_hand); @@ -5266,7 +5267,7 @@ static void mainloop(void) { /* No scroll buttons - must be a selector: */ - which = ((event.button.y - 40) / 48) * 2 + (event.button.x - (WINDOW_WIDTH - 96)) / 48; + which = ((event.button.y - r_ttoolopt.h) / button_h) * 2 + (event.button.x - (WINDOW_WIDTH - r_ttoolopt.w)) / button_w; if (which < num_things) do_setcursor(cursor_hand); @@ -5307,7 +5308,7 @@ static void mainloop(void) do_setcursor(cursor_insertion); else if (cur_label == LABEL_SELECT) { - if (search_label_list(¤t_label_node, event.button.x - 96, event.button.y, 1)) + if (search_label_list(¤t_label_node, event.button.x - r_ttools.w, event.button.y, 1)) do_setcursor(cursor_hand); else do_setcursor(cursor_arrow); @@ -5504,7 +5505,7 @@ static void mainloop(void) stamp_data[stamp_group][cur_stamp[stamp_group]]->size = (((MAX_STAMP_SIZE - MIN_STAMP_SIZE + 1 /* +1 to address lack of ability to get back to max default stamp size (SF Bug #1668235 -bjk 2011.01.08) */ ) * (event.button.x - - (WINDOW_WIDTH - 96))) / 96) + + (WINDOW_WIDTH - r_ttoolopt.w))) / r_toolopt.w) + MIN_STAMP_SIZE; #ifdef DEBUG @@ -7521,6 +7522,8 @@ static void get_stamp_thumb(stamp_type * sd) w = 40; h = 40; + int ww = (40 * button_h) / ORIGINAL_BUTTON_SIZE; + int hh = (40 * button_h) / ORIGINAL_BUTTON_SIZE; if (bigimg) { w = bigimg->w; @@ -7528,10 +7531,10 @@ static void get_stamp_thumb(stamp_type * sd) } if (!bigimg) - sd->thumbnail = thumbnail(img_dead40x40, 40, 40, 1); /* copy */ + sd->thumbnail = thumbnail(img_dead40x40, ww, hh, 1); /* copy */ else if (bigimg->w > 40 || bigimg->h > 40) { - sd->thumbnail = thumbnail(bigimg, 40, 40, 1); + sd->thumbnail = thumbnail(bigimg, ww, hh, 1); SDL_FreeSurface(bigimg); } else @@ -7909,17 +7912,24 @@ static SDL_Surface *do_render_button_label(const char *const label) { SDL_Surface *tmp_surf, *surf; SDL_Color black = { 0, 0, 0, 0 }; - TuxPaint_Font *myfont = small_font; + TuxPaint_Font *myfont; char *td_str = textdir(gettext(label)); char *upstr = uppercase(td_str); free(td_str); + if (button_w <= ORIGINAL_BUTTON_SIZE) + myfont = small_font; + else if (button_w >= ORIGINAL_BUTTON_SIZE * 2) + myfont = medium_font; + else + myfont = large_font; + if (need_own_font && strcmp(gettext(label), label)) myfont = locale_font; tmp_surf = render_text(myfont, upstr, black); free(upstr); - surf = thumbnail(tmp_surf, min(48, tmp_surf->w), min(18 + button_label_y_nudge, tmp_surf->h), 0); + surf = thumbnail(tmp_surf, min(button_w, tmp_surf->w), min(18 + button_label_y_nudge, tmp_surf->h), 0); SDL_FreeSurface(tmp_surf); return surf; @@ -8067,6 +8077,28 @@ static SDL_Cursor *get_cursor(unsigned char *bits, unsigned char *mask_bits, return (SDL_CreateCursor(temp_bitmap, temp_bitmask, width, height, x, y)); } +/** + * Load an image and Resize it according to the difference between the size of the Buttons original and current ones: + */ +static SDL_Surface *loadimagerb(const char *const fname) +{ + int w,h; + SDL_Surface *aux_surf; + SDL_Surface *aux2_surf; + + aux_surf = loadimage(fname); + if (aux_surf) + { + w = (aux_surf->w * button_w) / ORIGINAL_BUTTON_SIZE; + h = (aux_surf->h * button_h) / ORIGINAL_BUTTON_SIZE; + aux2_surf = thumbnail(aux_surf, w, h, 0); + } + else + return (NULL); + + SDL_FreeSurface(aux_surf); + return(aux2_surf); +} /** * FIXME @@ -8148,7 +8180,7 @@ static void draw_toolbar(void) int i, off_y, max, most, tool; SDL_Rect dest; - most = 14; + most = (buttons_tall * gd_toolopt.cols) - TOOLOFFSET; off_y = 0; /* FIXME: Only allow print if we have something to print! */ @@ -8160,12 +8192,12 @@ static void draw_toolbar(void) /* Do we need scrollbars? */ if (NUM_TOOLS > most + TOOLOFFSET) { - off_y = 24; - max = most - 2 + TOOLOFFSET; - gd_tools.rows = max / 2; + off_y = img_scroll_up->h; + max = most - gd_tools.cols + TOOLOFFSET; + gd_tools.rows = max / gd_tools.cols; dest.x = 0; - dest.y = 40; + dest.y = r_ttools.h; if (tool_scroll > 0) { @@ -8177,11 +8209,11 @@ static void draw_toolbar(void) } dest.x = 0; - dest.y = 40 + 24 + ((6 + TOOLOFFSET / 2) * 48); + dest.y = r_ttools.h + off_y + ((most - gd_tools.cols + TOOLOFFSET) / gd_tools.cols * button_h); - if (tool_scroll < NUM_TOOLS - (most - 2) - TOOLOFFSET) + if (tool_scroll < NUM_TOOLS - (most - gd_tools.cols) - TOOLOFFSET) { SDL_BlitSurface(img_scroll_down, NULL, screen, &dest); } @@ -8193,7 +8225,7 @@ static void draw_toolbar(void) else { off_y = 0; - max = 14 + TOOLOFFSET; + max = most + TOOLOFFSET; } @@ -8202,8 +8234,8 @@ static void draw_toolbar(void) for (tool = tool_scroll; tool < tool_scroll + max; tool++) { i = tool - tool_scroll; - dest.x = ((i % 2) * 48); - dest.y = ((i / 2) * 48) + 40 + off_y; + dest.x = ((i % 2) * button_w); + dest.y = ((i / 2) * button_h) + r_ttools.h + off_y; if (tool < NUM_TOOLS) @@ -8230,14 +8262,14 @@ static void draw_toolbar(void) SDL_BlitSurface(button_color, NULL, img_tools[tool], NULL); SDL_BlitSurface(button_color, NULL, img_tool_names[tool], NULL); - dest.x = ((i % 2) * 48) + 4; - dest.y = ((i / 2) * 48) + 40 + 2 + off_y; + dest.x = ((i % 2) * button_w) + 4; + dest.y = ((i / 2) * button_h) + r_ttools.h + 2 + off_y; SDL_BlitSurface(img_tools[tool], NULL, screen, &dest); - dest.x = ((i % 2) * 48) + 4 + (40 - img_tool_names[tool]->w) / 2; - dest.y = ((i / 2) * 48) + 40 + 2 + (44 + button_label_y_nudge - img_tool_names[tool]->h) + off_y; + dest.x = ((i % 2) * button_w) + (4 * button_w) / ORIGINAL_BUTTON_SIZE + ((40 * button_w) / ORIGINAL_BUTTON_SIZE - img_tool_names[tool]->w) / 2; + dest.y = ((i / 2) * button_h) + r_ttools.h + (2 * button_w) / ORIGINAL_BUTTON_SIZE + (((44 + button_label_y_nudge) * button_w) / ORIGINAL_BUTTON_SIZE - img_tool_names[tool]->h) + off_y; SDL_BlitSurface(img_tool_names[tool], NULL, screen, &dest); } @@ -8259,22 +8291,21 @@ static void draw_magic(void) SDL_Rect dest; int most; - draw_image_title(TITLE_MAGIC, r_ttoolopt); /* How many can we show? */ - most = 12; + most = (buttons_tall * gd_toolopt.cols) - gd_toolopt.cols - TOOLOFFSET; /* was 12 */ if (disable_magic_controls) - most = 14; + most = most + gd_toolopt.cols; /* was 14 */ if (num_magics > most + TOOLOFFSET) { - off_y = 24; + off_y = img_scroll_down->h; max = (most - 2) + TOOLOFFSET; - dest.x = WINDOW_WIDTH - 96; - dest.y = 40; + dest.x = WINDOW_WIDTH - r_ttoolopt.w; + dest.y = r_ttoolopt.h; if (magic_scroll > 0) { @@ -8285,8 +8316,8 @@ static void draw_magic(void) SDL_BlitSurface(img_scroll_up_off, NULL, screen, &dest); } - dest.x = WINDOW_WIDTH - 96; - dest.y = 40 + 24 + ((((most - 2) / 2) + TOOLOFFSET / 2) * 48); + dest.x = WINDOW_WIDTH - r_ttoolopt.w; + dest.y = r_ttoolopt.h + img_scroll_down->h + ((((most - 2) / 2) + TOOLOFFSET / 2) * button_h); if (magic_scroll < num_magics - (most - 2) - TOOLOFFSET) { @@ -8308,8 +8339,8 @@ static void draw_magic(void) { i = magic - magic_scroll; - dest.x = ((i % 2) * 48) + (WINDOW_WIDTH - 96); - dest.y = ((i / 2) * 48) + 40 + off_y; + dest.x = ((i % 2) * button_w) + (WINDOW_WIDTH - r_ttoolopt.w); + dest.y = ((i / 2) * button_h) + r_ttoolopt.h + off_y; if (magic < num_magics) { @@ -8322,14 +8353,14 @@ static void draw_magic(void) SDL_BlitSurface(img_btn_up, NULL, screen, &dest); } - dest.x = WINDOW_WIDTH - 96 + ((i % 2) * 48) + 4; - dest.y = ((i / 2) * 48) + 40 + 4 + off_y; + dest.x = WINDOW_WIDTH - r_ttoolopt.w + ((i % 2) * button_w) + 4; + dest.y = ((i / 2) * button_h) + r_ttoolopt.h + 4 + off_y; SDL_BlitSurface(magics[magic].img_icon, NULL, screen, &dest); - dest.x = WINDOW_WIDTH - 96 + ((i % 2) * 48) + 4 + (40 - magics[magic].img_name->w) / 2; - dest.y = (((i / 2) * 48) + 40 + 4 + (44 - magics[magic].img_name->h) + off_y); + dest.x = WINDOW_WIDTH - r_ttoolopt.w + ((i % 2) * button_w) + (4 * button_w) / ORIGINAL_BUTTON_SIZE + ((40 * button_w) / ORIGINAL_BUTTON_SIZE - magics[magic].img_name->w) / 2; + dest.y = (((i / 2) * button_h) + r_ttoolopt.h + (4 * button_h) / ORIGINAL_BUTTON_SIZE + ((44 * button_h) / ORIGINAL_BUTTON_SIZE - magics[magic].img_name->h) + off_y); SDL_BlitSurface(magics[magic].img_name, NULL, screen, &dest); } @@ -8357,13 +8388,13 @@ static void draw_magic(void) else button_color = img_btn_off; /* Unavailable */ - dest.x = WINDOW_WIDTH - 96; - dest.y = 40 + ((6 + TOOLOFFSET / 2) * 48); + dest.x = WINDOW_WIDTH - r_ttoolopt.w; + dest.y = r_ttoolopt.h + ((most / gd_toolopt.cols + TOOLOFFSET / gd_toolopt.cols) * button_h); SDL_BlitSurface(button_color, NULL, screen, &dest); - dest.x = WINDOW_WIDTH - 96 + (48 - img_magic_paint->w) / 2; - dest.y = (40 + ((6 + TOOLOFFSET / 2) * 48) + (48 - img_magic_paint->h) / 2); + dest.x = WINDOW_WIDTH - r_ttoolopt.w + (button_w - img_magic_paint->w) / 2; + dest.y = (r_ttoolopt.h + ((most / gd_toolopt.cols + TOOLOFFSET / gd_toolopt.cols) * button_h) + (button_h - img_magic_paint->h) / 2); SDL_BlitSurface(img_magic_paint, NULL, screen, &dest); @@ -8377,13 +8408,13 @@ static void draw_magic(void) else button_color = img_btn_off; /* Unavailable */ - dest.x = WINDOW_WIDTH - 48; - dest.y = 40 + ((6 + TOOLOFFSET / 2) * 48); + dest.x = WINDOW_WIDTH - button_w; + dest.y = r_ttoolopt.h + ((most / gd_toolopt.cols + TOOLOFFSET / gd_toolopt.cols) * button_h); SDL_BlitSurface(button_color, NULL, screen, &dest); - dest.x = WINDOW_WIDTH - 48 + (48 - img_magic_fullscreen->w) / 2; - dest.y = (40 + ((6 + TOOLOFFSET / 2) * 48) + (48 - img_magic_fullscreen->h) / 2); + dest.x = WINDOW_WIDTH - button_w + (button_w - img_magic_fullscreen->w) / 2; + dest.y = (r_ttoolopt.h + ((most / gd_toolopt.cols + TOOLOFFSET / gd_toolopt.cols) * button_h) + (button_h - img_magic_fullscreen->h) / 2); SDL_BlitSurface(img_magic_fullscreen, NULL, screen, &dest); } @@ -8483,21 +8514,24 @@ static void draw_brushes(void) { int i, off_y, max, brush; SDL_Rect src, dest; - + int most; /* Draw the title: */ draw_image_title(TITLE_BRUSHES, r_ttoolopt); + /* Space for buttons, was 14 */ + most = (buttons_tall * gd_toolopt.cols) - TOOLOFFSET; /* Do we need scrollbars? */ - if (num_brushes > 14 + TOOLOFFSET) + if (num_brushes > most + TOOLOFFSET) { - off_y = 24; - max = 12 + TOOLOFFSET; + most = most - gd_toolopt.cols; /* was 12 */ + off_y = img_scroll_up->h; + max = most + TOOLOFFSET; - dest.x = WINDOW_WIDTH - 96; - dest.y = 40; + dest.x = WINDOW_WIDTH - r_ttoolopt.w; + dest.y = r_ttoolopt.h; if (brush_scroll > 0) { @@ -8508,10 +8542,10 @@ static void draw_brushes(void) SDL_BlitSurface(img_scroll_up_off, NULL, screen, &dest); } - dest.x = WINDOW_WIDTH - 96; - dest.y = 40 + 24 + ((6 + TOOLOFFSET / 2) * 48); + dest.x = WINDOW_WIDTH - r_ttoolopt.w; + dest.y = r_ttoolopt.h + img_scroll_up->h + ((most / gd_toolopt.cols + TOOLOFFSET / gd_toolopt.cols) * button_h); - if (brush_scroll < num_brushes - 12 - TOOLOFFSET) + if (brush_scroll < num_brushes - most - TOOLOFFSET) { SDL_BlitSurface(img_scroll_down, NULL, screen, &dest); } @@ -8523,7 +8557,7 @@ static void draw_brushes(void) else { off_y = 0; - max = 14 + TOOLOFFSET; + max = most + TOOLOFFSET; } @@ -8534,8 +8568,8 @@ static void draw_brushes(void) i = brush - brush_scroll; - dest.x = ((i % 2) * 48) + (WINDOW_WIDTH - 96); - dest.y = ((i / 2) * 48) + 40 + off_y; + dest.x = ((i % 2) * button_w) + (WINDOW_WIDTH - r_ttoolopt.w); + dest.y = ((i / 2) * button_h) + r_ttoolopt.h + off_y; if (brush == cur_brush) { @@ -8562,8 +8596,8 @@ static void draw_brushes(void) src.w = (img_brushes[brush]->w / abs(brushes_frames[brush])) / (brushes_directional[brush] ? 3 : 1); src.h = (img_brushes[brush]->h / (brushes_directional[brush] ? 3 : 1)); - dest.x = ((i % 2) * 48) + (WINDOW_WIDTH - 96) + ((48 - src.w) >> 1); - dest.y = ((i / 2) * 48) + 40 + ((48 - src.h) >> 1) + off_y; + dest.x = ((i % 2) * button_w) + (WINDOW_WIDTH - r_ttoolopt.w) + ((button_w - src.w) >> 1); + dest.y = ((i / 2) * button_h) + r_ttoolopt.h + ((button_h - src.h) >> 1) + off_y; SDL_BlitSurface(img_brushes[brush], &src, screen, &dest); } @@ -8585,19 +8619,22 @@ static void draw_fonts(void) /* Draw the title: */ draw_image_title(TITLE_LETTERS, r_ttoolopt); + /* Space for buttons, was 14 */ + most = (buttons_tall * gd_toolopt.cols) - TOOLOFFSET; + /* How many can we show? */ if (cur_tool == TOOL_LABEL) { - most = 8; + most = most - gd_toolopt.cols - gd_toolopt.cols - gd_toolopt.cols; if (disable_stamp_controls) - most = 12; + most = most + gd_toolopt.cols + gd_toolopt.cols; } else { - most = 10; + most = most - gd_toolopt.cols - gd_toolopt.cols; if (disable_stamp_controls) - most = 14; + most = most + gd_toolopt.cols + gd_toolopt.cols /* Ugly! */; } #ifdef DEBUG @@ -8609,11 +8646,11 @@ static void draw_fonts(void) if (num_font_families > most + TOOLOFFSET) { - off_y = 24; - max = most - 2 + TOOLOFFSET; + off_y = img_scroll_up->h; + max = most - gd_toolopt.cols + TOOLOFFSET; - dest.x = WINDOW_WIDTH - 96; - dest.y = 40; + dest.x = WINDOW_WIDTH - r_ttoolopt.w; + dest.y = r_ttoolopt.h; if (font_scroll > 0) { @@ -8624,16 +8661,13 @@ static void draw_fonts(void) SDL_BlitSurface(img_scroll_up_off, NULL, screen, &dest); } - dest.x = WINDOW_WIDTH - 96; - if (cur_tool == TOOL_LABEL) - dest.y = 40 + 24 + ((5 + TOOLOFFSET / 2) * 48); - else - dest.y = 40 + 24 + ((6 + TOOLOFFSET / 2) * 48); + dest.x = WINDOW_WIDTH - r_ttoolopt.w; + dest.y = r_ttoolopt.h + off_y + (((most - gd_toolopt.cols) / gd_toolopt.cols + TOOLOFFSET / gd_toolopt.cols) * button_h); - if (!disable_stamp_controls) - dest.y = dest.y - (48 * 2); + /* if (!disable_stamp_controls) + dest.y = dest.y - (button_h * 2); */ - if (font_scroll < num_font_families - (most - 2) - TOOLOFFSET) + if (font_scroll < num_font_families - (most - gd_toolopt.cols) - TOOLOFFSET) { SDL_BlitSurface(img_scroll_down, NULL, screen, &dest); } @@ -8659,8 +8693,8 @@ static void draw_fonts(void) i = font - font_scroll; - dest.x = ((i % 2) * 48) + (WINDOW_WIDTH - 96); - dest.y = ((i / 2) * 48) + 40 + off_y; + dest.x = ((i % 2) * button_w) + (WINDOW_WIDTH - r_ttoolopt.w); + dest.y = ((i / 2) * button_h) + r_ttoolopt.h + off_y; if (font == cur_font) { @@ -8688,37 +8722,37 @@ static void draw_fonts(void) return; } - if (tmp_surf_1->w > 48 || tmp_surf_1->h > 48) + if (tmp_surf_1->w > button_w || tmp_surf_1->h > button_h) { - tmp_surf = thumbnail(tmp_surf_1, 48, 48, 1); + tmp_surf = thumbnail(tmp_surf_1, button_w, button_h, 1); SDL_FreeSurface(tmp_surf_1); } else tmp_surf = tmp_surf_1; - src.x = (tmp_surf->w - 48) / 2; - src.y = (tmp_surf->h - 48) / 2; - src.w = 48; - src.h = 48; + src.x = (tmp_surf->w - button_w) / 2; + src.y = (tmp_surf->h - button_h) / 2; + src.w = button_w; + src.h = button_h; if (src.x < 0) src.x = 0; if (src.y < 0) src.y = 0; - dest.x = ((i % 2) * 48) + (WINDOW_WIDTH - 96); + dest.x = ((i % 2) * button_w) + (WINDOW_WIDTH - r_ttoolopt.w); if (src.w > tmp_surf->w) { src.w = tmp_surf->w; - dest.x = dest.x + ((48 - (tmp_surf->w)) / 2); + dest.x = dest.x + ((button_w - (tmp_surf->w)) / 2); } - dest.y = ((i / 2) * 48) + 40 + off_y; + dest.y = ((i / 2) * button_h) + r_ttoolopt.h + off_y; if (src.h > tmp_surf->h) { src.h = tmp_surf->h; - dest.y = dest.y + ((48 - (tmp_surf->h)) / 2); + dest.y = dest.y + ((button_h - (tmp_surf->h)) / 2); } SDL_BlitSurface(tmp_surf, &src, screen, &dest); @@ -8739,8 +8773,8 @@ static void draw_fonts(void) { /* disabling rotation as I am not sure how this should be implemented */ - dest.x = WINDOW_WIDTH - 96; - dest.y = 40 + ((4 + TOOLOFFSET / 2) * 48); + dest.x = WINDOW_WIDTH - r_ttoolopt.w; + dest.y = r_ttoolopt.h + ((most / gd_toolopt.cols + TOOLOFFSET / gd_toolopt.cols) * button_h); SDL_BlitSurface(img_btn_off, NULL, screen, &dest); /* if(cur_label == LABEL_ROTATE) */ @@ -8748,13 +8782,13 @@ static void draw_fonts(void) /* else */ /* SDL_BlitSurface(img_btn_up, NULL, screen, &dest); */ - /* dest.x = WINDOW_WIDTH - 96 + (48 - img_label->w) / 2; */ + /* dest.x = WINDOW_WIDTH - r_ttoolopt.w + (48 - img_label->w) / 2; */ /* dest.y = (40 + ((4 + TOOLOFFSET / 2) * 48) + (48 - img_label->h) / 2); */ /* SDL_BlitSurface(img_label, NULL, screen, &dest); */ - dest.x = WINDOW_WIDTH - 48; - dest.y = 40 + ((4 + TOOLOFFSET / 2) * 48); + dest.x = WINDOW_WIDTH - button_w; + dest.y = r_ttoolopt.h + ((most / gd_toolopt.cols + TOOLOFFSET / gd_toolopt.cols) * button_h); if (cur_label == LABEL_SELECT) SDL_BlitSurface(img_btn_down, NULL, screen, &dest); @@ -8768,48 +8802,50 @@ static void draw_fonts(void) } - dest.x = WINDOW_WIDTH - 48 + (48 - img_label_select->w) / 2; - dest.y = (40 + ((4 + TOOLOFFSET / 2) * 48) + (48 - img_label_select->h) / 2); + dest.x = WINDOW_WIDTH - button_w + (button_w - img_label_select->w) / 2; + dest.y = (r_ttoolopt.h + ((most / gd_toolopt.cols + TOOLOFFSET / gd_toolopt.cols) * button_h) + (button_h - img_label_select->h) / 2); SDL_BlitSurface(img_label_select, NULL, screen, &dest); + most = most + gd_toolopt.cols; } /* Show bold button: */ - dest.x = WINDOW_WIDTH - 96; - dest.y = 40 + ((5 + TOOLOFFSET / 2) * 48); + dest.x = WINDOW_WIDTH - r_ttoolopt.w; + dest.y = r_ttoolopt.h + ((most / gd_toolopt.cols + TOOLOFFSET / gd_toolopt.cols) * button_h); if (text_state & TTF_STYLE_BOLD) SDL_BlitSurface(img_btn_down, NULL, screen, &dest); else SDL_BlitSurface(img_btn_up, NULL, screen, &dest); - dest.x = WINDOW_WIDTH - 96 + (48 - img_bold->w) / 2; - dest.y = (40 + ((5 + TOOLOFFSET / 2) * 48) + (48 - img_bold->h) / 2); + dest.x = WINDOW_WIDTH - r_ttoolopt.w + (button_w - img_bold->w) / 2; + dest.y = (r_ttoolopt.h + ((most / gd_toolopt.cols + TOOLOFFSET / gd_toolopt.cols) * button_h) + (button_h - img_bold->h) / 2); SDL_BlitSurface(img_bold, NULL, screen, &dest); /* Show italic button: */ - dest.x = WINDOW_WIDTH - 48; - dest.y = 40 + ((5 + TOOLOFFSET / 2) * 48); + dest.x = WINDOW_WIDTH - button_w; + dest.y = r_ttoolopt.h + ((most / gd_toolopt.cols + TOOLOFFSET / gd_toolopt.cols) * button_h); if (text_state & TTF_STYLE_ITALIC) SDL_BlitSurface(img_btn_down, NULL, screen, &dest); else SDL_BlitSurface(img_btn_up, NULL, screen, &dest); - dest.x = WINDOW_WIDTH - 48 + (48 - img_italic->w) / 2; - dest.y = (40 + ((5 + TOOLOFFSET / 2) * 48) + (48 - img_italic->h) / 2); + dest.x = WINDOW_WIDTH - button_w + (button_w - img_italic->w) / 2; + dest.y = (r_ttoolopt.h + ((most /gd_toolopt.cols + TOOLOFFSET / gd_toolopt.cols) * button_h) + (button_h - img_italic->h) / 2); SDL_BlitSurface(img_italic, NULL, screen, &dest); - + most = most + gd_toolopt.cols; + printf("most %d\n", most); /* Show shrink button: */ - dest.x = WINDOW_WIDTH - 96; - dest.y = 40 + ((6 + TOOLOFFSET / 2) * 48); + dest.x = WINDOW_WIDTH - r_ttoolopt.w; + dest.y = r_ttoolopt.h + ((most / gd_toolopt.cols + TOOLOFFSET / gd_toolopt.cols) * button_h); if (text_size > MIN_TEXT_SIZE) { @@ -8823,8 +8859,8 @@ static void draw_fonts(void) } SDL_BlitSurface(button_body, NULL, screen, &dest); - dest.x = WINDOW_WIDTH - 96 + (48 - img_shrink->w) / 2; - dest.y = (40 + ((6 + TOOLOFFSET / 2) * 48) + (48 - img_shrink->h) / 2); + dest.x = WINDOW_WIDTH - r_ttoolopt.w + (button_w - img_shrink->w) / 2; + dest.y = (r_ttoolopt.h + ((most / gd_toolopt.cols + TOOLOFFSET / gd_toolopt.cols) * button_h) + (button_h - img_shrink->h) / 2); SDL_BlitSurface(button_color, NULL, img_shrink, NULL); SDL_BlitSurface(img_shrink, NULL, screen, &dest); @@ -8832,8 +8868,8 @@ static void draw_fonts(void) /* Show grow button: */ - dest.x = WINDOW_WIDTH - 48; - dest.y = 40 + ((6 + TOOLOFFSET / 2) * 48); + dest.x = WINDOW_WIDTH - button_w; + dest.y = r_ttoolopt.h + ((most / gd_toolopt.cols + TOOLOFFSET / gd_toolopt.cols) * button_h); if (text_size < MAX_TEXT_SIZE) { @@ -8847,8 +8883,8 @@ static void draw_fonts(void) } SDL_BlitSurface(button_body, NULL, screen, &dest); - dest.x = WINDOW_WIDTH - 48 + (48 - img_grow->w) / 2; - dest.y = (40 + ((6 + TOOLOFFSET / 2) * 48) + (48 - img_grow->h) / 2); + dest.x = WINDOW_WIDTH - button_w + (button_w - img_grow->w) / 2; + dest.y = (r_ttoolopt.h + ((most / gd_toolopt.cols + TOOLOFFSET / gd_toolopt.cols) * button_h) + (button_h - img_grow->h) / 2); SDL_BlitSurface(button_color, NULL, img_grow, NULL); SDL_BlitSurface(img_grow, NULL, screen, &dest); @@ -8857,23 +8893,23 @@ static void draw_fonts(void) { if (cur_tool == TOOL_LABEL) { - dest.x = WINDOW_WIDTH - 96; - dest.y = 40 + ((6 + TOOLOFFSET / 2) * 48); + dest.x = WINDOW_WIDTH - r_ttoolopt.w; + dest.y = r_ttoolopt.h + ((most / gd_toolopt.cols + TOOLOFFSET / gd_toolopt.cols) * button_h); SDL_BlitSurface(img_btn_up, NULL, screen, &dest); - dest.x = WINDOW_WIDTH - 96 + (48 - img_label->w) / 2; - dest.y = (40 + ((6 + TOOLOFFSET / 2) * 48) + (48 - img_label->h) / 2); + dest.x = WINDOW_WIDTH - r_ttoolopt.w + (button_w - img_label->w) / 2; + dest.y = (r_ttoolopt.h + ((most / gd_toolopt.cols + TOOLOFFSET / gd_toolopt.cols) * button_h) + (button_h - img_label->h) / 2); SDL_BlitSurface(img_label, NULL, screen, &dest); - dest.x = WINDOW_WIDTH - 48; - dest.y = 40 + ((6 + TOOLOFFSET / 2) * 48); + dest.x = WINDOW_WIDTH - button_w; + dest.y = r_ttoolopt.h + ((most / gd_toolopt.cols + TOOLOFFSET / gd_toolopt.cols) * button_h); SDL_BlitSurface(img_btn_up, NULL, screen, &dest); - dest.x = WINDOW_WIDTH - 48 + (48 - img_label_select->w) / 2; - dest.y = (40 + ((6 + TOOLOFFSET / 2) * 48) + (48 - img_label_select->h) / 2); + dest.x = WINDOW_WIDTH - button_w + (button_w - img_label_select->w) / 2; + dest.y = (r_ttoolopt.h + ((most / gd_toolopt.cols + TOOLOFFSET / gd_toolopt.cols) * button_h) + (button_h - img_label_select->h) / 2); SDL_BlitSurface(img_label_select, NULL, screen, &dest); } @@ -8905,20 +8941,20 @@ static void draw_stamps(void) /* How many can we show? */ - most = 8; /* was 10 and 14, before left/right controls -bjk 2007.05.03 */ + most = (buttons_tall * gd_toolopt.cols) - gd_toolopt.cols - gd_toolopt.cols - gd_toolopt.cols - TOOLOFFSET; /* was 10 and 14, before left/right controls -bjk 2007.05.03 */ if (disable_stamp_controls) - most = 12; + most = (buttons_tall * gd_toolopt.cols) - gd_toolopt.cols - TOOLOFFSET; /* Do we need scrollbars? */ if (num_stamps[stamp_group] > most + TOOLOFFSET) { - off_y = 24; - max = (most - 2) + TOOLOFFSET; + off_y = img_scroll_up->h; + max = (most - gd_toolopt.cols) + TOOLOFFSET; - dest.x = WINDOW_WIDTH - 96; - dest.y = 40; + dest.x = WINDOW_WIDTH - r_ttoolopt.w; + dest.y = r_ttoolopt.h; if (stamp_scroll[stamp_group] > 0) { @@ -8930,11 +8966,11 @@ static void draw_stamps(void) } - dest.x = WINDOW_WIDTH - 96; - dest.y = 40 + 24 + ((5 + TOOLOFFSET / 2) * 48); /* was 6, before left/right controls -bjk 2007.05.03 */ + dest.x = WINDOW_WIDTH - r_ttoolopt.w; + dest.y = r_ttoolopt.h + off_y + (((most + 2) / gd_toolopt.cols + TOOLOFFSET / gd_toolopt.cols) * button_h); /* was 6, before left/right controls -bjk 2007.05.03 */ if (!disable_stamp_controls) - dest.y = dest.y - (48 * 2); + dest.y = dest.y - (button_h * 2); if (stamp_scroll[stamp_group] < num_stamps[stamp_group] - (most - 2) - TOOLOFFSET) { @@ -8958,8 +8994,8 @@ static void draw_stamps(void) { i = stamp - stamp_scroll[stamp_group]; - dest.x = ((i % 2) * 48) + (WINDOW_WIDTH - 96); - dest.y = ((i / 2) * 48) + 40 + off_y; + dest.x = ((i % 2) * button_w) + (WINDOW_WIDTH - r_ttoolopt.w); + dest.y = ((i / 2) * button_h) + r_ttoolopt.h + off_y; if (stamp == cur_stamp[stamp_group]) { @@ -8979,9 +9015,9 @@ static void draw_stamps(void) get_stamp_thumb(stamp_data[stamp_group][stamp]); img = stamp_data[stamp_group][stamp]->thumbnail; - base_x = ((i % 2) * 48) + (WINDOW_WIDTH - 96) + ((48 - (img->w)) / 2); + base_x = ((i % 2) * button_w) + (WINDOW_WIDTH - r_ttoolopt.w) + ((button_w - (img->w)) / 2); - base_y = ((i / 2) * 48) + 40 + ((48 - (img->h)) / 2) + off_y; + base_y = ((i / 2) * button_h) + r_ttoolopt.h + ((button_h - (img->h)) / 2) + off_y; dest.x = base_x; dest.y = base_y; @@ -8999,13 +9035,13 @@ static void draw_stamps(void) button_color = img_black; button_body = img_btn_nav; - dest.x = WINDOW_WIDTH - 96; - dest.y = 40 + (((most + TOOLOFFSET) / 2) * 48); + dest.x = WINDOW_WIDTH - r_ttoolopt.w; + dest.y = r_ttoolopt.h + (((most + TOOLOFFSET) / 2) * button_h); SDL_BlitSurface(button_body, NULL, screen, &dest); - dest.x = WINDOW_WIDTH - 96 + (48 - img_prev->w) / 2; - dest.y = (40 + (((most + TOOLOFFSET) / 2) * 48) + (48 - img_prev->h) / 2); + dest.x = WINDOW_WIDTH - r_ttoolopt.w + (button_w - img_prev->w) / 2; + dest.y = (r_ttoolopt.h + (((most + TOOLOFFSET) / 2) * button_h) + (button_h - img_prev->h) / 2); SDL_BlitSurface(button_color, NULL, img_prev, NULL); SDL_BlitSurface(img_prev, NULL, screen, &dest); @@ -9015,13 +9051,13 @@ static void draw_stamps(void) button_color = img_black; button_body = img_btn_nav; - dest.x = WINDOW_WIDTH - 48; - dest.y = 40 + (((most + TOOLOFFSET) / 2) * 48); + dest.x = WINDOW_WIDTH - button_w; + dest.y = r_ttoolopt.h + (((most + TOOLOFFSET) / gd_toolopt.cols) * button_h); SDL_BlitSurface(button_body, NULL, screen, &dest); - dest.x = WINDOW_WIDTH - 48 + (48 - img_next->w) / 2; - dest.y = (40 + (((most + TOOLOFFSET) / 2) * 48) + (48 - img_next->h) / 2); + dest.x = WINDOW_WIDTH - button_w + (button_w - img_next->w) / 2; + dest.y = (r_ttoolopt.h + (((most + TOOLOFFSET) / gd_toolopt.cols) * button_h) + (button_h - img_next->h) / 2); SDL_BlitSurface(button_color, NULL, img_next, NULL); SDL_BlitSurface(img_next, NULL, screen, &dest); @@ -9033,8 +9069,8 @@ static void draw_stamps(void) { /* Show mirror button: */ - dest.x = WINDOW_WIDTH - 96; - dest.y = 40 + ((5 + TOOLOFFSET / 2) * 48); + dest.x = WINDOW_WIDTH - r_ttoolopt.w; + dest.y = r_ttoolopt.h + ((most + gd_toolopt.cols+ TOOLOFFSET) / gd_toolopt.cols * button_h); if (stamp_data[stamp_group][cur_stamp[stamp_group]]->mirrorable) { @@ -9056,16 +9092,16 @@ static void draw_stamps(void) } SDL_BlitSurface(button_body, NULL, screen, &dest); - dest.x = WINDOW_WIDTH - 96 + (48 - img_mirror->w) / 2; - dest.y = (40 + ((5 + TOOLOFFSET / 2) * 48) + (48 - img_mirror->h) / 2); + dest.x = WINDOW_WIDTH - r_ttoolopt.w + (button_w - img_mirror->w) / 2; + dest.y = (r_ttoolopt.h + ((most + gd_toolopt.cols + TOOLOFFSET) / gd_toolopt.cols * button_h) + (button_h - img_mirror->h) / 2); SDL_BlitSurface(button_color, NULL, img_mirror, NULL); SDL_BlitSurface(img_mirror, NULL, screen, &dest); /* Show flip button: */ - dest.x = WINDOW_WIDTH - 48; - dest.y = 40 + ((5 + TOOLOFFSET / 2) * 48); + dest.x = WINDOW_WIDTH - button_w; + dest.y = r_ttoolopt.h + ((most + gd_toolopt.cols + TOOLOFFSET) / gd_toolopt.cols * button_h); if (stamp_data[stamp_group][cur_stamp[stamp_group]]->flipable) { @@ -9087,8 +9123,8 @@ static void draw_stamps(void) } SDL_BlitSurface(button_body, NULL, screen, &dest); - dest.x = WINDOW_WIDTH - 48 + (48 - img_flip->w) / 2; - dest.y = (40 + ((5 + TOOLOFFSET / 2) * 48) + (48 - img_flip->h) / 2); + dest.x = WINDOW_WIDTH - button_w + (button_w - img_flip->w) / 2; + dest.y = (r_ttoolopt.h + ((most + gd_toolopt.cols + TOOLOFFSET) / gd_toolopt.cols * button_h) + (button_h - img_flip->h) / 2); SDL_BlitSurface(button_color, NULL, img_flip, NULL); SDL_BlitSurface(img_flip, NULL, screen, &dest); @@ -9097,8 +9133,8 @@ static void draw_stamps(void) #ifdef OLD_STAMP_GROW_SHRINK /* Show shrink button: */ - dest.x = WINDOW_WIDTH - 96; - dest.y = 40 + ((6 + TOOLOFFSET / 2) * 48); + dest.x = WINDOW_WIDTH - r_ttoolopt.w; + dest.y = 40 + ((6 + TOOLOFFSET / 2) * button_h); if (stamp_data[stamp_group][cur_stamp[stamp_group]]->size > MIN_STAMP_SIZE) { @@ -9112,8 +9148,8 @@ static void draw_stamps(void) } SDL_BlitSurface(button_body, NULL, screen, &dest); - dest.x = WINDOW_WIDTH - 96 + (48 - img_shrink->w) / 2; - dest.y = (40 + ((6 + TOOLOFFSET / 2) * 48) + (48 - img_shrink->h) / 2); + dest.x = WINDOW_WIDTH - r_ttoolopt.w + (button_w - img_shrink->w) / 2; + dest.y = (40 + ((6 + TOOLOFFSET / 2) * button_h) + (button_h - img_shrink->h) / 2); SDL_BlitSurface(button_color, NULL, img_shrink, NULL); SDL_BlitSurface(img_shrink, NULL, screen, &dest); @@ -9121,8 +9157,8 @@ static void draw_stamps(void) /* Show grow button: */ - dest.x = WINDOW_WIDTH - 48; - dest.y = 40 + ((6 + TOOLOFFSET / 2) * 48); + dest.x = WINDOW_WIDTH - button_w; + dest.y = 40 + ((6 + TOOLOFFSET / 2) * button_h); if (stamp_data[stamp_group][cur_stamp[stamp_group]]->size < MAX_STAMP_SIZE) { @@ -9136,8 +9172,8 @@ static void draw_stamps(void) } SDL_BlitSurface(button_body, NULL, screen, &dest); - dest.x = WINDOW_WIDTH - 48 + (48 - img_grow->w) / 2; - dest.y = (40 + ((6 + TOOLOFFSET / 2) * 48) + (48 - img_grow->h) / 2); + dest.x = WINDOW_WIDTH - button_w + (button_w - img_grow->w) / 2; + dest.y = (40 + ((6 + TOOLOFFSET / 2) * button_h) + (button_h - img_grow->h) / 2); SDL_BlitSurface(button_color, NULL, img_grow, NULL); SDL_BlitSurface(img_grow, NULL, screen, &dest); @@ -9145,8 +9181,9 @@ static void draw_stamps(void) #else sizes = MAX_STAMP_SIZE - MIN_STAMP_SIZE + 1; /* +1 for SF Bug #1668235 -bjk 2011.01.08 */ size_at = (stamp_data[stamp_group][cur_stamp[stamp_group]]->size - MIN_STAMP_SIZE); - x_per = 96.0 / sizes; - y_per = 48.0 / sizes; + + x_per = (float)r_ttoolopt.w / sizes; + y_per = (float)button_h / sizes; for (i = 0; i < sizes; i++) { @@ -9158,16 +9195,16 @@ static void draw_stamps(void) else btn = thumbnail(img_btn_up, xx, yy, 0); - blnk = thumbnail(img_btn_off, xx, 48 - yy, 0); + blnk = thumbnail(img_btn_off, xx, button_h - yy, 0); /* FIXME: Check for NULL! */ - dest.x = (WINDOW_WIDTH - 96) + (i * x_per); - dest.y = (((7 + TOOLOFFSET / 2) * 48)) - 8; + dest.x = (WINDOW_WIDTH - r_ttoolopt.w) + (i * x_per); + dest.y = (((most + gd_toolopt.cols + gd_toolopt.cols + gd_toolopt.cols + TOOLOFFSET) / gd_toolopt.cols * button_h)) - 8; SDL_BlitSurface(blnk, NULL, screen, &dest); - dest.x = (WINDOW_WIDTH - 96) + (i * x_per); - dest.y = (((8 + TOOLOFFSET / 2) * 48)) - 8 - (y_per * i); + dest.x = (WINDOW_WIDTH - r_ttoolopt.w) + (i * x_per); + dest.y = (((most + gd_toolopt.cols + gd_toolopt.cols + gd_toolopt.cols + gd_toolopt.cols + TOOLOFFSET) / gd_toolopt.cols * button_h)) - 8 - (y_per * i); SDL_BlitSurface(btn, NULL, screen, &dest); SDL_FreeSurface(btn); @@ -9192,17 +9229,18 @@ static void draw_shapes(void) draw_image_title(TITLE_SHAPES, r_ttoolopt); - most = 12; if (disable_shape_controls) - most = 14; + most = (buttons_tall * gd_toolopt.cols) - TOOLOFFSET; + else + most = (buttons_tall * gd_toolopt.cols) - gd_toolopt.cols - TOOLOFFSET; if (NUM_SHAPES > most + TOOLOFFSET) { - off_y = 24; + off_y = img_scroll_up->h; max = (most - 2) + TOOLOFFSET; - dest.x = WINDOW_WIDTH - 96; - dest.y = 40; + dest.x = WINDOW_WIDTH - r_ttoolopt.w; + dest.y = r_ttoolopt.h; if (shape_scroll > 0) { @@ -9213,8 +9251,8 @@ static void draw_shapes(void) SDL_BlitSurface(img_scroll_up_off, NULL, screen, &dest); } - dest.x = WINDOW_WIDTH - 96; - dest.y = 40 + 24 + ((((most - 2) / 2) + TOOLOFFSET / 2) * 48); + dest.x = WINDOW_WIDTH - r_ttoolopt.w; + dest.y = r_ttoolopt.h + img_scroll_up->h + ((((most - 2) / 2) + TOOLOFFSET / 2) * button_h); if (shape_scroll < NUM_SHAPES - (most - 2) - TOOLOFFSET) { @@ -9235,8 +9273,8 @@ static void draw_shapes(void) { i = shape - shape_scroll; - dest.x = ((i % 2) * 48) + WINDOW_WIDTH - 96; - dest.y = ((i / 2) * 48) + 40 + off_y; + dest.x = ((i % 2) * button_w) + WINDOW_WIDTH - r_ttoolopt.w; + dest.y = ((i / 2) * button_h) + r_ttoolopt.h + off_y; if (shape == cur_shape) { @@ -9254,13 +9292,13 @@ static void draw_shapes(void) if (shape < NUM_SHAPES) { - dest.x = ((i % 2) * 48) + 4 + WINDOW_WIDTH - 96; - dest.y = ((i / 2) * 48) + 40 + 4 + off_y; + dest.x = ((i % 2) * button_w) + (4 * button_w) / ORIGINAL_BUTTON_SIZE + WINDOW_WIDTH - r_ttoolopt.w; + dest.y = ((i / 2) * button_h) + r_ttoolopt.h + (4 * button_h) / ORIGINAL_BUTTON_SIZE + off_y; SDL_BlitSurface(img_shapes[shape], NULL, screen, &dest); - dest.x = ((i % 2) * 48) + 4 + WINDOW_WIDTH - 96 + (40 - img_shape_names[shape]->w) / 2; - dest.y = ((i / 2) * 48) + 40 + 4 + (44 - img_shape_names[shape]->h) + off_y; + dest.x = ((i % 2) * button_w) + (4 * button_w) / ORIGINAL_BUTTON_SIZE + WINDOW_WIDTH - r_ttoolopt.w + ((40 * button_w) / ORIGINAL_BUTTON_SIZE - img_shape_names[shape]->w) / 2; + dest.y = ((i / 2) * button_h) + r_ttoolopt.h + (4 * button_h) / ORIGINAL_BUTTON_SIZE + ((44 * button_h) / ORIGINAL_BUTTON_SIZE - img_shape_names[shape]->h) + off_y; SDL_BlitSurface(img_shape_names[shape], NULL, screen, &dest); } @@ -9279,13 +9317,13 @@ static void draw_shapes(void) else button_color = img_btn_up; - dest.x = WINDOW_WIDTH - 96; - dest.y = 40 + ((6 + TOOLOFFSET / 2) * 48); + dest.x = WINDOW_WIDTH - r_ttoolopt.w; + dest.y = r_ttoolopt.h + ((most + TOOLOFFSET) / gd_toolopt.cols * button_h); SDL_BlitSurface(button_color, NULL, screen, &dest); - dest.x = WINDOW_WIDTH - 96 + (48 - img_shapes_center->w) / 2; - dest.y = (40 + ((6 + TOOLOFFSET / 2) * 48) + (48 - img_shapes_center->h) / 2); + dest.x = WINDOW_WIDTH - r_ttoolopt.w + (button_w - img_shapes_center->w) / 2; + dest.y = (r_ttoolopt.h + ((most + TOOLOFFSET) / gd_toolopt.cols * button_h) + (button_h - img_shapes_center->h) / 2); SDL_BlitSurface(img_shapes_center, NULL, screen, &dest); @@ -9297,13 +9335,13 @@ static void draw_shapes(void) else button_color = img_btn_up; - dest.x = WINDOW_WIDTH - 48; - dest.y = 40 + ((6 + TOOLOFFSET / 2) * 48); + dest.x = WINDOW_WIDTH - button_w; + dest.y = r_ttoolopt.h + ((most + TOOLOFFSET) / gd_toolopt.cols * button_h); SDL_BlitSurface(button_color, NULL, screen, &dest); - dest.x = WINDOW_WIDTH - 48 + (48 - img_shapes_corner->w) / 2; - dest.y = (40 + ((6 + TOOLOFFSET / 2) * 48) + (48 - img_shapes_corner->h) / 2); + dest.x = WINDOW_WIDTH - button_w + (button_w - img_shapes_corner->w) / 2; + dest.y = (r_ttoolopt.h + ((most + TOOLOFFSET) / gd_toolopt.cols * button_h) + (button_h - img_shapes_corner->h) / 2); SDL_BlitSurface(img_shapes_corner, NULL, screen, &dest); } @@ -9327,8 +9365,8 @@ static void draw_erasers(void) for (i = 0; i < 14 + TOOLOFFSET; i++) { - dest.x = ((i % 2) * 48) + WINDOW_WIDTH - 96; - dest.y = ((i / 2) * 48) + 40; + dest.x = ((i % 2) * button_w) + WINDOW_WIDTH - r_ttoolopt.w; + dest.y = ((i / 2) * button_h) + r_ttoolopt.h; if (i == cur_eraser) @@ -9353,8 +9391,8 @@ static void draw_erasers(void) sz = (2 + (((NUM_ERASERS / 2) - 1 - i) * (38 / ((NUM_ERASERS / 2) - 1)))); - x = ((i % 2) * 48) + WINDOW_WIDTH - 96 + 24 - sz / 2; - y = ((i / 2) * 48) + 40 + 24 - sz / 2; + x = ((i % 2) * button_w) + WINDOW_WIDTH - r_ttoolopt.w + 24 - sz / 2; + y = ((i / 2) * button_h) + 40 + 24 - sz / 2; dest.x = x; dest.y = y; @@ -9390,8 +9428,8 @@ static void draw_erasers(void) sz = (2 + (((NUM_ERASERS / 2) - 1 - (i - NUM_ERASERS / 2)) * (38 / ((NUM_ERASERS / 2) - 1)))); - x = ((i % 2) * 48) + WINDOW_WIDTH - 96 + 24 - sz / 2; - y = ((i / 2) * 48) + 40 + 24 - sz / 2; + x = ((i % 2) * button_w) + WINDOW_WIDTH - r_ttoolopt.w + 24 - sz / 2; + y = ((i / 2) * button_h) + 40 + 24 - sz / 2; for (yy = 0; yy <= sz; yy++) { @@ -9427,14 +9465,14 @@ static void draw_none(void) int i; SDL_Rect dest; - dest.x = WINDOW_WIDTH - 96; + dest.x = WINDOW_WIDTH - r_ttoolopt.w; dest.y = 0; SDL_BlitSurface(img_title_off, NULL, screen, &dest); - for (i = 0; i < 14 + TOOLOFFSET; i++) + for (i = 0; i < buttons_tall * gd_toolopt.cols; i++) { - dest.x = ((i % 2) * 48) + WINDOW_WIDTH - 96; - dest.y = ((i / 2) * 48) + 40; + dest.x = ((i % 2) * button_w) + WINDOW_WIDTH - r_ttoolopt.w; + dest.y = ((i / 2) * button_h) + r_ttoolopt.h; SDL_BlitSurface(img_btn_off, NULL, screen, &dest); } @@ -9853,7 +9891,7 @@ static void do_undo(void) } } - update_canvas(0, 0, (WINDOW_WIDTH - 96), (48 * 7) + 40 + HEIGHTOFFSET); + update_canvas(0, 0, (WINDOW_WIDTH - r_ttoolopt.w), (button_h * 7) + 40 + HEIGHTOFFSET); if (cur_undo == oldest_undo) @@ -9913,7 +9951,7 @@ static void do_redo(void) do_redo_label_node(); SDL_BlitSurface(undo_bufs[cur_undo], NULL, canvas, NULL); - update_canvas(0, 0, (WINDOW_WIDTH - 96), (48 * 7) + 40 + HEIGHTOFFSET); + update_canvas(0, 0, (WINDOW_WIDTH - r_ttoolopt.w), (button_h * 7) + 40 + HEIGHTOFFSET); been_saved = 0; } @@ -10127,17 +10165,17 @@ static void rect_xor(int x1, int y1, int x2, int y2) if (y2 < 0) y2 = 0; - if (x1 >= (WINDOW_WIDTH - 96 - 96)) - x1 = (WINDOW_WIDTH - 96 - 96) - 1; + if (x1 >= (WINDOW_WIDTH - r_ttoolopt.w - r_ttools.w)) + x1 = (WINDOW_WIDTH - r_ttoolopt.w - r_ttools.w) - 1; - if (x2 >= (WINDOW_WIDTH - 96 - 96)) - x2 = (WINDOW_WIDTH - 96 - 96) - 1; + if (x2 >= (WINDOW_WIDTH - r_ttoolopt.w - r_ttools.w)) + x2 = (WINDOW_WIDTH - r_ttoolopt.w - r_ttools.w) - 1; - if (y1 >= (48 * 7) + 40 + HEIGHTOFFSET) - y1 = (48 * 7) + 40 + HEIGHTOFFSET - 1; + if (y1 >= (button_h * 7) + 40 + HEIGHTOFFSET) + y1 = (button_h * 7) + 40 + HEIGHTOFFSET - 1; - if (y2 >= (48 * 7) + 40 + HEIGHTOFFSET) - y2 = (48 * 7) + 40 + HEIGHTOFFSET - 1; + if (y2 >= (button_h * 7) + 40 + HEIGHTOFFSET) + y2 = (button_h * 7) + 40 + HEIGHTOFFSET - 1; line_xor(x1, y1, x2, y1); line_xor(x2, y1, x2, y2); @@ -12196,26 +12234,26 @@ static int do_prompt_image_flash_snd(const char *const text, SDL_BlitSurface(screen, NULL, backup, NULL); - for (w = 0; w <= 96; w = w + 2) + for (w = 0; w <= r_ttools.w; w = w + 2) { oox = ox - w; ooy = oy - w; - nx = PROMPT_LEFT + 96 - w + PROMPTOFFSETX; - ny = 94 + 96 - w + PROMPTOFFSETY; + nx = PROMPT_LEFT + r_ttools.w - w + PROMPTOFFSETX; + ny = 94 + r_ttools.w - w + PROMPTOFFSETY; - dest.x = ((nx * w) + (oox * (96 - w))) / 96; - dest.y = ((ny * w) + (ooy * (96 - w))) / 96; - dest.w = (PROMPT_W - 96 * 2) + w * 2; + dest.x = ((nx * w) + (oox * (r_ttools.w - w))) / r_ttools.w; + dest.y = ((ny * w) + (ooy * (r_ttools.w - w))) / r_ttools.w; + dest.w = (PROMPT_W - r_ttools.w * 2) + w * 2; dest.h = w * 2; - SDL_FillRect(screen, &dest, SDL_MapRGB(screen->format, 224 - w, 224 - w, 244 - w)); + SDL_FillRect(screen, &dest, SDL_MapRGB(screen->format, 224 - w /gd_tools.cols, 224 - w / gd_tools.cols, 244 - w / gd_tools.cols)); SDL_UpdateRect(screen, dest.x, dest.y, dest.w, dest.h); if ((w % 8) == 0) SDL_Delay(1); - if (w == 94) + if (w == r_ttools.w - 2) SDL_BlitSurface(backup, NULL, screen, NULL); } @@ -12226,7 +12264,7 @@ static int do_prompt_image_flash_snd(const char *const text, #ifndef NO_PROMPT_SHADOWS alpha_surf = SDL_CreateRGBSurface(SDL_SWSURFACE | SDL_SRCALPHA, - (PROMPT_W - 96 * 2) + (w - 4) * 2, + (PROMPT_W - r_ttools.w * 2) + (w - 4) * 2, (w - 4) * 2, screen->format->BitsPerPixel, screen->format->Rmask, @@ -12239,9 +12277,9 @@ static int do_prompt_image_flash_snd(const char *const text, for (i = 8; i > 0; i = i - 2) { - dest.x = PROMPT_LEFT + 96 - (w - 4) + i + PROMPTOFFSETX; - dest.y = 94 + 96 - (w - 4) + i + PROMPTOFFSETY; - dest.w = (PROMPT_W - 96 * 2) + (w - 4) * 2; + dest.x = PROMPT_LEFT + r_ttools.w - (w - 4) + i + PROMPTOFFSETX; + dest.y = 94 + r_ttools.w - (w - 4) + i + PROMPTOFFSETY; + dest.w = (PROMPT_W - r_ttools.w * 2) + (w - 4) * 2; dest.h = (w - 4) * 2; SDL_BlitSurface(alpha_surf, NULL, screen, &dest); @@ -12254,9 +12292,9 @@ static int do_prompt_image_flash_snd(const char *const text, w = w - 6; - dest.x = PROMPT_LEFT + 96 - w + PROMPTOFFSETX; - dest.y = 94 + 96 - w + PROMPTOFFSETY; - dest.w = (PROMPT_W - 96 * 2) + w * 2; + dest.x = PROMPT_LEFT + r_ttools.w - w + PROMPTOFFSETX; + dest.y = 94 + r_ttools.w - w + PROMPTOFFSETY; + dest.w = (PROMPT_W - r_ttools.w * 2) + w * 2; dest.h = w * 2; SDL_FillRect(screen, &dest, SDL_MapRGB(screen->format, 255, 255, 255)); @@ -12372,7 +12410,7 @@ static int do_prompt_image_flash_snd(const char *const text, /* (Bound to UTF8 domain, so always ask for UTF8 rendering!) */ - wordwrap_text(btn_yes, black, txt_btn_left, 183 + PROMPTOFFSETY, txt_btn_right, 1); + wordwrap_text(btn_yes, black, txt_btn_left, dest.y + 5, txt_btn_right, 1); /* Draw no button: */ @@ -12380,10 +12418,10 @@ static int do_prompt_image_flash_snd(const char *const text, if (strlen(btn_no) != 0) { dest.x = btn_left; - dest.y = 230 + PROMPTOFFSETY; + dest.y = dest.y + button_h + 4; SDL_BlitSurface(img_no, NULL, screen, &dest); - wordwrap_text(btn_no, black, txt_btn_left, 235 + PROMPTOFFSETY, txt_btn_right, 1); + wordwrap_text(btn_no, black, txt_btn_left, dest.y + 5, txt_btn_right, 1); } @@ -12464,7 +12502,7 @@ static int do_prompt_image_flash_snd(const char *const text, done = 1; } else if (strlen(btn_no) != 0 && - event.button.y >= 230 + PROMPTOFFSETY && event.button.y < 230 + PROMPTOFFSETY + img_no->h) + event.button.y >= 178 + PROMPTOFFSETY + img_yes->h + 5 && event.button.y < 178 + PROMPTOFFSETY + img_yes->h + 5 + img_no->h) { ans = 0; done = 1; @@ -12478,7 +12516,7 @@ static int do_prompt_image_flash_snd(const char *const text, ((event.button.y >= 178 + PROMPTOFFSETY && event.button.y < 178 + img_yes->h + PROMPTOFFSETY) || (strlen(btn_no) != 0 && - event.button.y >= 230 + PROMPTOFFSETY && event.button.y < 230 + img_yes->h + PROMPTOFFSETY))) + event.button.y >= 178 + PROMPTOFFSETY + img_yes->h + 5 && event.button.y < 178 + PROMPTOFFSETY + img_yes->h + 5 + img_no->h))) { do_setcursor(cursor_hand); } @@ -13224,7 +13262,7 @@ static void do_shape(int sx, int sy, int nx, int ny, int rotn, int use_brush) } if (xx % 10 == 0) - update_canvas(0, 0, WINDOW_WIDTH - 96, (48 * 7) + 40 + HEIGHTOFFSET); + update_canvas(0, 0, WINDOW_WIDTH - r_ttoolopt.w, (button_h * 7) + 40 + HEIGHTOFFSET); } } @@ -14591,10 +14629,10 @@ static int do_open(void) { /* Erase screen: */ - dest.x = 96; + dest.x = r_ttools.w; dest.y = 0; - dest.w = WINDOW_WIDTH - 96 - 96; - dest.h = 48 * 7 + 40 + HEIGHTOFFSET; + dest.w = WINDOW_WIDTH - r_ttoolopt.w - r_ttools.w; + dest.h = button_h * buttons_tall + r_ttools.h; SDL_FillRect(screen, &dest, SDL_MapRGB(screen->format, 255, 255, 255)); @@ -14605,8 +14643,8 @@ static int do_open(void) { /* Draw cursor: */ - dest.x = THUMB_W * ((i - cur) % 4) + 96; - dest.y = THUMB_H * ((i - cur) / 4) + 24; + dest.x = THUMB_W * ((i - cur) % 4) + r_ttools.w; + dest.y = THUMB_H * ((i - cur) / 4) + img_scroll_up->h; if (i == which) { @@ -14618,8 +14656,8 @@ static int do_open(void) - dest.x = THUMB_W * ((i - cur) % 4) + 96 + 10 + (THUMB_W - 20 - thumbs[i]->w) / 2; - dest.y = THUMB_H * ((i - cur) / 4) + 24 + 10 + (THUMB_H - 20 - thumbs[i]->h) / 2; + dest.x = THUMB_W * ((i - cur) % 4) + r_ttools.w + 10 + (THUMB_W - 20 - thumbs[i]->w) / 2; + dest.y = THUMB_H * ((i - cur) / 4) + img_scroll_up->h + 10 + (THUMB_H - 20 - thumbs[i]->h) / 2; if (thumbs[i] != NULL) SDL_BlitSurface(thumbs[i], NULL, screen, &dest); @@ -14637,7 +14675,7 @@ static int do_open(void) SDL_BlitSurface(img_scroll_up_off, NULL, screen, &dest); dest.x = (WINDOW_WIDTH - img_scroll_up->w) / 2; - dest.y = (48 * 7 + 40 + HEIGHTOFFSET) - 48; + dest.y = (button_h * buttons_tall + r_ttools.h) - button_h; if (cur < num_files - 16) SDL_BlitSurface(img_scroll_down, NULL, screen, &dest); @@ -14647,75 +14685,75 @@ static int do_open(void) /* "Open" button: */ - dest.x = 96; - dest.y = (48 * 7 + 40 + HEIGHTOFFSET) - 48; + dest.x = r_ttools.w; + dest.y = (button_h * buttons_tall + r_ttools.h) - button_h; SDL_BlitSurface(img_open, NULL, screen, &dest); - dest.x = 96 + (48 - img_openlabels_open->w) / 2; - dest.y = (48 * 7 + 40 + HEIGHTOFFSET) - img_openlabels_open->h; + dest.x = r_ttools.w + (button_w - img_openlabels_open->w) / 2; + dest.y = (button_h * buttons_tall + r_ttools.h) - img_openlabels_open->h; SDL_BlitSurface(img_openlabels_open, NULL, screen, &dest); /* "Slideshow" button: */ - dest.x = 96 + 48; - dest.y = (48 * 7 + 40 + HEIGHTOFFSET) - 48; + dest.x = r_ttools.w + button_w; + dest.y = (button_h * buttons_tall + r_ttools.h) - button_h; if (any_saved_files) SDL_BlitSurface(img_btn_up, NULL, screen, &dest); else SDL_BlitSurface(img_btn_off, NULL, screen, &dest); - dest.x = 96 + 48; - dest.y = (48 * 7 + 40 + HEIGHTOFFSET) - 48; + dest.x = r_ttools.w + button_w; + dest.y = (button_h * buttons_tall + r_ttools.h) - button_h; SDL_BlitSurface(img_slideshow, NULL, screen, &dest); - dest.x = 96 + 48 + (48 - img_openlabels_slideshow->w) / 2; - dest.y = (48 * 7 + 40 + HEIGHTOFFSET) - img_openlabels_slideshow->h; + dest.x = r_ttools.w + button_w + (button_w - img_openlabels_slideshow->w) / 2; + dest.y = (button_h * buttons_tall + r_ttools.h) - img_openlabels_slideshow->h; SDL_BlitSurface(img_openlabels_slideshow, NULL, screen, &dest); /* "Back" button: */ - dest.x = WINDOW_WIDTH - 96 - 48; - dest.y = (48 * 7 + 40 + HEIGHTOFFSET) - 48; + dest.x = WINDOW_WIDTH - r_ttoolopt.w - button_w; + dest.y = (button_h * buttons_tall + r_ttools.h) - button_h; SDL_BlitSurface(img_back, NULL, screen, &dest); - dest.x = WINDOW_WIDTH - 96 - 48 + (48 - img_openlabels_back->w) / 2; - dest.y = (48 * 7 + 40 + HEIGHTOFFSET) - img_openlabels_back->h; + dest.x = WINDOW_WIDTH - r_ttoolopt.w - button_w + (button_w - img_openlabels_back->w) / 2; + dest.y = (button_h * buttons_tall + r_ttools.h) - img_openlabels_back->h; SDL_BlitSurface(img_openlabels_back, NULL, screen, &dest); /* "Export" button: */ - dest.x = WINDOW_WIDTH - 96 - 48 - 48 - 48; - dest.y = (48 * 7 + 40 + HEIGHTOFFSET) - 48; + dest.x = WINDOW_WIDTH - r_ttoolopt.w - button_w - button_w - button_w; + dest.y = (button_h * buttons_tall + r_ttools.h) - button_h; if (d_places[which] != PLACE_STARTERS_DIR && d_places[which] != PLACE_PERSONAL_STARTERS_DIR) SDL_BlitSurface(img_btn_up, NULL, screen, &dest); else SDL_BlitSurface(img_btn_off, NULL, screen, &dest); - dest.x = WINDOW_WIDTH - 96 - 48 - 48 - 48 + (48 - img_pict_export->w) / 2; - dest.y = (48 * 7 + 40 + HEIGHTOFFSET) - 48; + dest.x = WINDOW_WIDTH - r_ttoolopt.w - button_w - button_w - button_w + (button_w - img_pict_export->w) / 2; + dest.y = (button_h * buttons_tall + r_ttools.h) - button_h; SDL_BlitSurface(img_pict_export, NULL, screen, &dest); - dest.x = WINDOW_WIDTH - 96 - 48 - 48 - 48 + (48 - img_openlabels_pict_export->w) / 2; - dest.y = (48 * 7 + 40 + HEIGHTOFFSET) - img_openlabels_pict_export->h; + dest.x = WINDOW_WIDTH - r_ttoolopt.w - button_w - button_w - button_w + (button_w - img_openlabels_pict_export->w) / 2; + dest.y = (button_h * buttons_tall + r_ttools.h) - img_openlabels_pict_export->h; SDL_BlitSurface(img_openlabels_pict_export, NULL, screen, &dest); /* "Erase" button: */ - dest.x = WINDOW_WIDTH - 96 - 48 - 48; - dest.y = (48 * 7 + 40 + HEIGHTOFFSET) - 48; + dest.x = WINDOW_WIDTH - r_ttoolopt.w - button_w - button_w; + dest.y = (button_h * buttons_tall + r_ttools.h) - button_h; if (d_places[which] != PLACE_STARTERS_DIR && d_places[which] != PLACE_PERSONAL_STARTERS_DIR) SDL_BlitSurface(img_erase, NULL, screen, &dest); else SDL_BlitSurface(img_btn_off, NULL, screen, &dest); - dest.x = WINDOW_WIDTH - 96 - 48 - 48 + (48 - img_openlabels_erase->w) / 2; - dest.y = (48 * 7 + 40 + HEIGHTOFFSET) - img_openlabels_erase->h; + dest.x = WINDOW_WIDTH - r_ttoolopt.w - button_w - button_w + (button_w - img_openlabels_erase->w) / 2; + dest.y = (button_h * buttons_tall + r_ttools.h) - img_openlabels_erase->h; SDL_BlitSurface(img_openlabels_erase, NULL, screen, &dest); @@ -14831,14 +14869,14 @@ static int do_open(void) } else if (event.type == SDL_MOUSEBUTTONDOWN && valid_click(event.button.button)) { - if (event.button.x >= 96 && event.button.x < WINDOW_WIDTH - 96 && - event.button.y >= 24 && event.button.y < (48 * 7 + 40 + HEIGHTOFFSET - 48)) + if (event.button.x >= r_ttools.w && event.button.x < WINDOW_WIDTH - r_ttoolopt.w && + event.button.y >= img_scroll_up->h && event.button.y < (button_h * buttons_tall + r_ttools.h) - button_h) { /* Picked an icon! */ int old_which = which; - which = ((event.button.x - 96) / (THUMB_W) + (((event.button.y - 24) / THUMB_H) * 4)) + cur; + which = ((event.button.x - r_ttools.w) / (THUMB_W) + (((event.button.y - img_scroll_up->h) / THUMB_H) * 4)) + cur; if (which < num_files) { @@ -14864,7 +14902,7 @@ static int do_open(void) else if (event.button.x >= (WINDOW_WIDTH - img_scroll_up->w) / 2 && event.button.x <= (WINDOW_WIDTH + img_scroll_up->w) / 2) { - if (event.button.y < 24) + if (event.button.y < img_scroll_up->h) { /* Up scroll button: */ @@ -14881,8 +14919,8 @@ static int do_open(void) if (which >= cur + 16) which = which - 4; } - else if (event.button.y >= (48 * 7 + 40 + HEIGHTOFFSET - 48) && - event.button.y < (48 * 7 + 40 + HEIGHTOFFSET - 24)) + else if (event.button.y >= (button_h * buttons_tall + r_ttools.h) - button_h && + event.button.y < (button_h * buttons_tall + r_ttools.h) - img_scroll_up->h) { /* Down scroll button: */ @@ -14900,18 +14938,18 @@ static int do_open(void) which = which + 4; } } - else if (event.button.x >= 96 && event.button.x < 96 + 48 && - event.button.y >= (48 * 7 + 40 + HEIGHTOFFSET) - 48 && - event.button.y < (48 * 7 + 40 + HEIGHTOFFSET)) + else if (event.button.x >= r_ttools.w && event.button.x < r_ttools.w + button_w && + event.button.y >= (button_h * buttons_tall + r_ttools.h) - button_h && + event.button.y < (button_h * buttons_tall + r_ttools.h)) { /* Open */ done = 1; playsound(screen, 1, SND_CLICK, 1, SNDPOS_LEFT, SNDDIST_NEAR); } - else if (event.button.x >= 96 + 48 && event.button.x < 96 + 48 + 48 && - event.button.y >= (48 * 7 + 40 + HEIGHTOFFSET) - 48 && - event.button.y < (48 * 7 + 40 + HEIGHTOFFSET) && any_saved_files == 1) + else if (event.button.x >= r_ttools.w + button_w && event.button.x < r_ttools.w + button_w + button_w && + event.button.y >= (button_h * buttons_tall + r_ttools.h) - button_h && + event.button.y < (button_h * buttons_tall + r_ttools.h) && any_saved_files == 1) { /* Slideshow */ @@ -14919,10 +14957,10 @@ static int do_open(void) slideshow = 1; playsound(screen, 1, SND_CLICK, 1, SNDPOS_LEFT, SNDDIST_NEAR); } - else if (event.button.x >= (WINDOW_WIDTH - 96 - 48) && - event.button.x < (WINDOW_WIDTH - 96) && - event.button.y >= (48 * 7 + 40 + HEIGHTOFFSET) - 48 && - event.button.y < (48 * 7 + 40 + HEIGHTOFFSET)) + else if (event.button.x >= (WINDOW_WIDTH - r_ttoolopt.w - button_w) && + event.button.x < (WINDOW_WIDTH - r_ttoolopt.w) && + event.button.y >= (button_h * buttons_tall + r_ttools.h) - button_h && + event.button.y < (button_h * buttons_tall + r_ttools.h)) { /* Back */ @@ -14930,20 +14968,20 @@ static int do_open(void) done = 1; playsound(screen, 1, SND_CLICK, 1, SNDPOS_RIGHT, SNDDIST_NEAR); } - else if (event.button.x >= (WINDOW_WIDTH - 96 - 48 - 48) && - event.button.x < (WINDOW_WIDTH - 48 - 96) && - event.button.y >= (48 * 7 + 40 + HEIGHTOFFSET) - 48 && - event.button.y < (48 * 7 + 40 + HEIGHTOFFSET) && + else if (event.button.x >= (WINDOW_WIDTH - r_ttoolopt.w - button_w - button_w) && + event.button.x < (WINDOW_WIDTH - button_w - r_ttoolopt.w) && + event.button.y >= (button_h * buttons_tall + r_ttools.h) - button_h && + event.button.y < (button_h * buttons_tall + r_ttools.h) && d_places[which] != PLACE_STARTERS_DIR && d_places[which] != PLACE_PERSONAL_STARTERS_DIR) { /* Erase */ want_erase = 1; } - else if (event.button.x >= (WINDOW_WIDTH - 96 - 48 - 48 - 48) && - event.button.x < (WINDOW_WIDTH - 48 - 48 - 96) && - event.button.y >= (48 * 7 + 40 + HEIGHTOFFSET) - 48 && - event.button.y < (48 * 7 + 40 + HEIGHTOFFSET) && + else if (event.button.x >= (WINDOW_WIDTH - r_ttoolopt.w - button_w - button_w - button_w) && + event.button.x < (WINDOW_WIDTH - button_w - button_w - r_ttoolopt.w) && + event.button.y >= (button_h * buttons_tall + r_ttools.h) - button_h && + event.button.y < (button_h * buttons_tall + r_ttools.h) && d_places[which] != PLACE_STARTERS_DIR && d_places[which] != PLACE_PERSONAL_STARTERS_DIR) { /* Export */ @@ -14985,7 +15023,7 @@ static int do_open(void) { /* Deal with mouse pointer shape! */ - if (event.button.y < 24 && + if (event.button.y < img_scroll_up->h && event.button.x >= (WINDOW_WIDTH - img_scroll_up->w) / 2 && event.button.x <= (WINDOW_WIDTH + img_scroll_up->w) / 2 && cur > 0) { @@ -14993,8 +15031,8 @@ static int do_open(void) do_setcursor(cursor_up); } - else if (event.button.y >= (48 * 7 + 40 + HEIGHTOFFSET - 48) && - event.button.y < (48 * 7 + 40 + HEIGHTOFFSET - 24) && + else if (event.button.y >= (button_h * buttons_tall + r_ttools.h) - button_h && + event.button.y < (button_h * buttons_tall + r_ttools.h - img_scroll_up->h) && event.button.x >= (WINDOW_WIDTH - img_scroll_up->w) / 2 && event.button.x <= (WINDOW_WIDTH + img_scroll_up->w) / 2 && cur < num_files - 16) { @@ -15002,26 +15040,26 @@ static int do_open(void) do_setcursor(cursor_down); } - else if (((event.button.x >= 96 && event.button.x < 96 + 48 + 48) || - (event.button.x >= (WINDOW_WIDTH - 96 - 48) && - event.button.x < (WINDOW_WIDTH - 96)) || - (event.button.x >= (WINDOW_WIDTH - 96 - 48 - 48 - 48) && - event.button.x < (WINDOW_WIDTH - 48 - 96) && + else if (((event.button.x >= r_ttools.w && event.button.x < r_ttools.w + button_w + button_w) || + (event.button.x >= (WINDOW_WIDTH - r_ttoolopt.w - button_w) && + event.button.x < (WINDOW_WIDTH - r_ttoolopt.w)) || + (event.button.x >= (WINDOW_WIDTH - r_ttoolopt.w - button_w - button_w - button_w) && + event.button.x < (WINDOW_WIDTH - button_w - r_ttoolopt.w) && /* Both "Erase" and "Export" only work on our own files... */ d_places[which] != PLACE_STARTERS_DIR && d_places[which] != PLACE_PERSONAL_STARTERS_DIR)) && - event.button.y >= (48 * 7 + 40 + HEIGHTOFFSET) - 48 && - event.button.y < (48 * 7 + 40 + HEIGHTOFFSET)) + event.button.y >= (button_h * buttons_tall + r_ttools.h) - button_h && + event.button.y < (button_h * buttons_tall + r_ttools.h)) { /* One of the command buttons: */ do_setcursor(cursor_hand); } - else if (event.button.x >= 96 && event.button.x < WINDOW_WIDTH - 96 && - event.button.y > 24 && - event.button.y < (48 * 7 + 40 + HEIGHTOFFSET) - 48 && - ((((event.button.x - 96) / (THUMB_W) + - (((event.button.y - 24) / THUMB_H) * 4)) + cur) < num_files)) + else if (event.button.x >= r_ttools.w && event.button.x < WINDOW_WIDTH - r_ttoolopt.w && + event.button.y > img_scroll_up->h && + event.button.y < (button_h * buttons_tall + r_ttools.h) - button_h && + ((((event.button.x - r_ttools.w) / (THUMB_W) + + (((event.button.y - img_scroll_up->h) / THUMB_H) * 4)) + cur) < num_files)) { /* One of the thumbnails: */ @@ -15065,7 +15103,7 @@ static int do_open(void) PROMPT_ERASE_YES, PROMPT_ERASE_NO, thumbs[which], img_popup_arrow, img_trash, SND_AREYOUSURE, - WINDOW_WIDTH - 96 - 48 - 48 + 24, 48 * 7 + 40 + HEIGHTOFFSET - 48 + 24)) + WINDOW_WIDTH - r_ttoolopt.w - button_w - button_w + 24, button_h * buttons_tall + r_ttools.h - button_h + img_scroll_up->h)) { safe_snprintf(fname, sizeof(fname), "saved/%s%s", d_names[which], d_exts[which]); @@ -15293,7 +15331,7 @@ static int do_open(void) } - update_canvas(0, 0, WINDOW_WIDTH - 96 - 96, 48 * 7 + 40 + HEIGHTOFFSET); + update_canvas(0, 0, WINDOW_WIDTH - r_ttoolopt.w - r_ttools.w, button_h * buttons_tall + r_ttools.h); free(instructions); } @@ -15631,10 +15669,10 @@ static int do_slideshow(void) { /* Erase screen: */ - dest.x = 96; + dest.x = r_ttools.w; dest.y = 0; - dest.w = WINDOW_WIDTH - 96 - 96; - dest.h = 48 * 7 + 40 + HEIGHTOFFSET; + dest.w = WINDOW_WIDTH - r_ttoolopt.w - r_ttools.w; + dest.h = button_h * buttons_tall + r_ttools.h; SDL_FillRect(screen, &dest, SDL_MapRGB(screen->format, 255, 255, 255)); @@ -15645,8 +15683,8 @@ static int do_slideshow(void) { /* Draw cursor: */ - dest.x = THUMB_W * ((i - cur) % 4) + 96; - dest.y = THUMB_H * ((i - cur) / 4) + 24; + dest.x = THUMB_W * ((i - cur) % 4) + r_ttools.w; + dest.y = THUMB_H * ((i - cur) / 4) + img_scroll_up->h; if (i == which) { @@ -15658,8 +15696,8 @@ static int do_slideshow(void) if (thumbs[i] != NULL) { - dest.x = THUMB_W * ((i - cur) % 4) + 96 + 10 + (THUMB_W - 20 - thumbs[i]->w) / 2; - dest.y = THUMB_H * ((i - cur) / 4) + 24 + 10 + (THUMB_H - 20 - thumbs[i]->h) / 2; + dest.x = THUMB_W * ((i - cur) % 4) + r_ttools.w + 10 + (THUMB_W - 20 - thumbs[i]->w) / 2; + dest.y = THUMB_H * ((i - cur) / 4) + img_scroll_up->h + 10 + (THUMB_H - 20 - thumbs[i]->h) / 2; SDL_BlitSurface(thumbs[i], NULL, screen, &dest); } @@ -15674,8 +15712,8 @@ static int do_slideshow(void) if (found != -1) { - dest.x = (THUMB_W * ((i - cur) % 4) + 96 + 10 + (THUMB_W - 20 - thumbs[i]->w) / 2) + thumbs[i]->w; - dest.y = (THUMB_H * ((i - cur) / 4) + 24 + 10 + (THUMB_H - 20 - thumbs[i]->h) / 2) + thumbs[i]->h; + dest.x = (THUMB_W * ((i - cur) % 4) + r_ttools.h + 10 + (THUMB_W - 20 - thumbs[i]->w) / 2) + thumbs[i]->w; + dest.y = (THUMB_H * ((i - cur) / 4) + img_scroll_up->h + 10 + (THUMB_H - 20 - thumbs[i]->h) / 2) + thumbs[i]->h; draw_selection_digits(dest.x, dest.y, found + 1); } @@ -15693,7 +15731,7 @@ static int do_slideshow(void) SDL_BlitSurface(img_scroll_up_off, NULL, screen, &dest); dest.x = (WINDOW_WIDTH - img_scroll_up->w) / 2; - dest.y = (48 * 7 + 40 + HEIGHTOFFSET) - 48; + dest.y = (button_h * buttons_tall + r_ttools.h) - button_h; if (cur < num_files - 16) SDL_BlitSurface(img_scroll_down, NULL, screen, &dest); @@ -15703,46 +15741,46 @@ static int do_slideshow(void) /* "Play" button: */ - dest.x = 96; - dest.y = (48 * 7 + 40 + HEIGHTOFFSET) - 48; + dest.x = r_ttools.w; + dest.y = (button_h * buttons_tall + r_ttools.h) - button_h; SDL_BlitSurface(img_play, NULL, screen, &dest); - dest.x = 96 + (48 - img_openlabels_play->w) / 2; - dest.y = (48 * 7 + 40 + HEIGHTOFFSET) - img_openlabels_play->h; + dest.x = r_ttools.w + (button_w - img_openlabels_play->w) / 2; + dest.y = (button_h * buttons_tall + r_ttools.h) - img_openlabels_play->h; SDL_BlitSurface(img_openlabels_play, NULL, screen, &dest); /* "GIF Export" button: */ - dest.x = WINDOW_WIDTH - 96 - 48 * 2; - dest.y = (48 * 7 + 40 + HEIGHTOFFSET) - 48; + dest.x = WINDOW_WIDTH - r_ttoolopt.w - button_w * 2; + dest.y = (button_h * buttons_tall + r_ttools.h) - button_h; SDL_BlitSurface(img_btn_up, NULL, screen, &dest); - dest.x = WINDOW_WIDTH - 96 - 48 * 2 + (48 - img_gif_export->w) / 2; - dest.y = (48 * 7 + 40 + HEIGHTOFFSET) - 48; + dest.x = WINDOW_WIDTH - r_ttoolopt.w - button_w * 2 + (button_w - img_gif_export->w) / 2; + dest.y = (button_h * buttons_tall + r_ttools.h) - button_h; SDL_BlitSurface(img_gif_export, NULL, screen, &dest); - dest.x = WINDOW_WIDTH - 96 - 48 * 2 + (48 - img_openlabels_gif_export->w) / 2; - dest.y = (48 * 7 + 40 + HEIGHTOFFSET) - img_openlabels_gif_export->h; + dest.x = WINDOW_WIDTH - r_ttoolopt.w - button_w * 2 + (button_w - img_openlabels_gif_export->w) / 2; + dest.y = (button_h * buttons_tall + r_ttools.h) - img_openlabels_gif_export->h; SDL_BlitSurface(img_openlabels_gif_export, NULL, screen, &dest); /* "Back" button: */ - dest.x = WINDOW_WIDTH - 96 - 48; - dest.y = (48 * 7 + 40 + HEIGHTOFFSET) - 48; + dest.x = WINDOW_WIDTH - r_ttoolopt.w - button_w; + dest.y = (button_h * buttons_tall + r_ttools.h) - button_h; SDL_BlitSurface(img_back, NULL, screen, &dest); - dest.x = WINDOW_WIDTH - 96 - 48 + (48 - img_openlabels_back->w) / 2; - dest.y = (48 * 7 + 40 + HEIGHTOFFSET) - img_openlabels_back->h; + dest.x = WINDOW_WIDTH - r_ttoolopt.w - button_w + (button_w - img_openlabels_back->w) / 2; + dest.y = (button_h * buttons_tall + r_ttools.h) - img_openlabels_back->h; SDL_BlitSurface(img_openlabels_back, NULL, screen, &dest); /* Speed control: */ speeds = 10; - x_per = 96.0 / speeds; - y_per = 48.0 / speeds; + x_per = (float)r_ttools.w / speeds; + y_per = (float)button_h / speeds; for (i = 0; i < speeds; i++) { @@ -15754,16 +15792,16 @@ static int do_slideshow(void) else btn = thumbnail(img_btn_up, xx, yy, 0); - blnk = thumbnail(img_btn_off, xx, 48 - yy, 0); + blnk = thumbnail(img_btn_off, xx, button_h - yy, 0); /* FIXME: Check for NULL! */ - dest.x = 96 + 48 + (i * x_per); - dest.y = (48 * 7 + 40 + HEIGHTOFFSET) - 48; + dest.x = r_ttools.w + button_w + (i * x_per); + dest.y = (button_h * buttons_tall + r_ttools.h) - button_h; SDL_BlitSurface(blnk, NULL, screen, &dest); - dest.x = 96 + 48 + (i * x_per); - dest.y = (48 * 7 + 40 + HEIGHTOFFSET) - (y_per * i); + dest.x = r_ttools.w + button_w + (i * x_per); + dest.y = (button_h * buttons_tall + r_ttools.h) - (y_per * i); SDL_BlitSurface(btn, NULL, screen, &dest); SDL_FreeSurface(btn); @@ -15801,7 +15839,7 @@ static int do_slideshow(void) dest.x = button_w * 3; - dest.y = (48 * 7 + 40 + HEIGHTOFFSET) - 48; + dest.y = (button_h * buttons_tall + r_ttools.h) - button_h; dest.w = button_w * 2; dest.h = button_h; @@ -15815,7 +15853,7 @@ static int do_slideshow(void) // playsound(screen, 1, SND_CLICK, 1, SNDPOS_LEFT, SNDDIST_NEAR); event.type = SDL_MOUSEBUTTONDOWN; event.button.x = button_w * 2 + 5; - event.button.y = (48 * 7 + 40 + HEIGHTOFFSET) - 48 + 5; + event.button.y = (button_h * buttons_tall + r_ttools.h) - button_h + 5; event.button.button = 1; SDL_PushEvent(&event); @@ -15832,12 +15870,12 @@ static int do_slideshow(void) } else if (event.type == SDL_MOUSEBUTTONDOWN && valid_click(event.button.button)) { - if (event.button.x >= 96 && event.button.x < WINDOW_WIDTH - 96 && - event.button.y >= 24 && event.button.y < (48 * 7 + 40 + HEIGHTOFFSET - 48)) + if (event.button.x >= r_ttools.w && event.button.x < WINDOW_WIDTH - r_ttoolopt.w && + event.button.y >= img_scroll_up->h && event.button.y < (button_h * buttons_tall + r_ttools.h - button_h)) { /* Picked an icon! */ - which = ((event.button.x - 96) / (THUMB_W) + (((event.button.y - 24) / THUMB_H) * 4)) + cur; + which = ((event.button.x - r_ttools.w) / (THUMB_W) + (((event.button.y - img_scroll_up->h) / THUMB_H) * 4)) + cur; if (which < num_files) { @@ -15874,7 +15912,7 @@ static int do_slideshow(void) else if (event.button.x >= (WINDOW_WIDTH - img_scroll_up->w) / 2 && event.button.x <= (WINDOW_WIDTH + img_scroll_up->w) / 2) { - if (event.button.y < 24) + if (event.button.y < img_scroll_up->h) { /* Up scroll button: */ @@ -15891,8 +15929,8 @@ static int do_slideshow(void) if (which >= cur + 16) which = which - 4; } - else if (event.button.y >= (48 * 7 + 40 + HEIGHTOFFSET - 48) && - event.button.y < (48 * 7 + 40 + HEIGHTOFFSET - 24)) + else if (event.button.y >= (button_h * buttons_tall + r_ttools.h - button_h) && + event.button.y < (button_h * buttons_tall + r_ttools.h - img_scroll_down->h)) { /* Down scroll button: */ @@ -15910,9 +15948,9 @@ static int do_slideshow(void) which = which + 4; } } - else if (event.button.x >= 96 && event.button.x < 96 + 48 && - event.button.y >= (48 * 7 + 40 + HEIGHTOFFSET) - 48 && - event.button.y < (48 * 7 + 40 + HEIGHTOFFSET)) + else if (event.button.x >= r_ttools.w && event.button.x < r_ttools.w + button_w && + event.button.y >= (button_h * buttons_tall + r_ttools.h) - button_h && + event.button.y < (button_h * buttons_tall + r_ttools.h)) { /* Play */ @@ -15947,9 +15985,9 @@ static int do_slideshow(void) update_list = 1; } - else if (event.button.x >= 96 + 48 && event.button.x < 96 + 48 + 96 && - event.button.y >= (48 * 7 + 40 + HEIGHTOFFSET) - 48 && - event.button.y < (48 * 7 + 40 + HEIGHTOFFSET)) + else if (event.button.x >= r_ttools.w + button_w && event.button.x < r_ttools.w + button_w + r_ttools.w && + event.button.y >= (button_h * buttons_tall + r_ttools.h) - button_h && + event.button.y < (button_h * buttons_tall + r_ttools.h)) { /* Speed slider */ @@ -15957,8 +15995,8 @@ static int do_slideshow(void) old_speed = speed; - click_x = event.button.x - 96 - 48; - speed = ((10 * click_x) / 96); + click_x = event.button.x - r_ttools.w - button_w; + speed = ((10 * click_x) / r_ttools.w); control_sound = -1; @@ -15974,10 +16012,10 @@ static int do_slideshow(void) update_list = 1; } } - else if (event.button.x >= (WINDOW_WIDTH - 96 - 48 - 48) && - event.button.x < (WINDOW_WIDTH - 96 - 48) && - event.button.y >= (48 * 7 + 40 + HEIGHTOFFSET) - 48 && - event.button.y < (48 * 7 + 40 + HEIGHTOFFSET)) + else if (event.button.x >= (WINDOW_WIDTH - r_ttoolopt.w - button_w - button_w) && + event.button.x < (WINDOW_WIDTH - r_ttoolopt.w - button_w) && + event.button.y >= (button_h * buttons_tall + r_ttools.h) - button_h && + event.button.y < (button_h * buttons_tall + r_ttools.h)) { /* GIF Export */ @@ -16019,10 +16057,10 @@ static int do_slideshow(void) update_list = 1; } } - else if (event.button.x >= (WINDOW_WIDTH - 96 - 48) && - event.button.x < (WINDOW_WIDTH - 96) && - event.button.y >= (48 * 7 + 40 + HEIGHTOFFSET) - 48 && - event.button.y < (48 * 7 + 40 + HEIGHTOFFSET)) + else if (event.button.x >= (WINDOW_WIDTH - r_ttoolopt.w - button_w) && + event.button.x < (WINDOW_WIDTH - r_ttoolopt.w) && + event.button.y >= (button_h * buttons_tall + r_ttools.h) - button_h && + event.button.y < (button_h * buttons_tall + r_ttools.h)) { /* Back */ @@ -16064,7 +16102,7 @@ static int do_slideshow(void) { /* Deal with mouse pointer shape! */ - if (event.button.y < 24 && + if (event.button.y < img_scroll_up->h && event.button.x >= (WINDOW_WIDTH - img_scroll_up->w) / 2 && event.button.x <= (WINDOW_WIDTH + img_scroll_up->w) / 2 && cur > 0) { @@ -16072,8 +16110,8 @@ static int do_slideshow(void) do_setcursor(cursor_up); } - else if (event.button.y >= (48 * 7 + 40 + HEIGHTOFFSET - 48) && - event.button.y < (48 * 7 + 40 + HEIGHTOFFSET - 24) && + else if (event.button.y >= (button_h * buttons_tall + r_ttools.h - button_h) && + event.button.y < (button_h * buttons_tall + r_ttools.h - img_scroll_up->h) && event.button.x >= (WINDOW_WIDTH - img_scroll_up->w) / 2 && event.button.x <= (WINDOW_WIDTH + img_scroll_up->w) / 2 && cur < num_files - 16) { @@ -16081,22 +16119,22 @@ static int do_slideshow(void) do_setcursor(cursor_down); } - else if (((event.button.x >= 96 && event.button.x < 96 + 48 + 96) || - (event.button.x >= (WINDOW_WIDTH - 96 - 48 * 2) && - event.button.x < (WINDOW_WIDTH - 96))) && - event.button.y >= (48 * 7 + 40 + HEIGHTOFFSET) - 48 && - event.button.y < (48 * 7 + 40 + HEIGHTOFFSET)) + else if (((event.button.x >= r_ttools.w && event.button.x < r_ttools.w + button_w + r_ttools.w) || + (event.button.x >= (WINDOW_WIDTH - r_ttoolopt.w - button_w * 2) && + event.button.x < (WINDOW_WIDTH - r_ttoolopt.w))) && + event.button.y >= (button_h * buttons_tall + r_ttools.h) - button_h && + event.button.y < (button_h * buttons_tall + r_ttools.h)) { /* One of the command buttons: */ do_setcursor(cursor_hand); } - else if (event.button.x >= 96 && event.button.x < WINDOW_WIDTH - 96 - && event.button.y > 24 - && event.button.y < (48 * 7 + 40 + HEIGHTOFFSET) - 48 + else if (event.button.x >= r_ttools.w && event.button.x < WINDOW_WIDTH - r_ttoolopt.w + && event.button.y > img_scroll_up->h + && event.button.y < (button_h * buttons_tall + r_ttools.h) - button_h && - ((((event.button.x - 96) / (THUMB_W) + - (((event.button.y - 24) / THUMB_H) * 4)) + cur) < num_files)) + ((((event.button.x - r_ttools.w) / (THUMB_W) + + (((event.button.y - img_scroll_up->h) / THUMB_H) * 4)) + cur) < num_files)) { /* One of the thumbnails: */ @@ -16255,21 +16293,21 @@ static void play_slideshow(int *selected, int num_selected, char *dirname, char /* "Back" button: */ - dest.x = screen->w - 48; - dest.y = screen->h - 48; + dest.x = screen->w - button_w; + dest.y = screen->h - button_h; SDL_BlitSurface(img_back, NULL, screen, &dest); - dest.x = screen->w - 48 + (48 - img_openlabels_back->w) / 2; + dest.x = screen->w - button_w + (button_w - img_openlabels_back->w) / 2; dest.y = screen->h - img_openlabels_back->h; SDL_BlitSurface(img_openlabels_back, NULL, screen, &dest); /* "Next" button: */ dest.x = 0; - dest.y = screen->h - 48; + dest.y = screen->h - button_h; SDL_BlitSurface(img_play, NULL, screen, &dest); - dest.x = (48 - img_openlabels_next->w) / 2; + dest.x = (button_w - img_openlabels_next->w) / 2; dest.y = screen->h - img_openlabels_next->h; SDL_BlitSurface(img_openlabels_next, NULL, screen, &dest); @@ -16335,7 +16373,7 @@ static void play_slideshow(int *selected, int num_selected, char *dirname, char { /* Mouse click! */ - if (event.button.x >= screen->w - 48 && event.button.y >= screen->h - 48) + if (event.button.x >= screen->w - button_w && event.button.y >= screen->h - button_h) { /* Back button */ @@ -16355,7 +16393,7 @@ static void play_slideshow(int *selected, int num_selected, char *dirname, char { /* Deal with mouse pointer shape! */ - if ((event.button.x >= screen->w - 48 || event.button.x < 48) && event.button.y >= screen->h - 48) + if ((event.button.x >= screen->w - button_w || event.button.x < button_w) && event.button.y >= screen->h - button_h) { /* Back or Next buttons */ @@ -16895,9 +16933,9 @@ static void do_render_cur_text(int do_blit) /* Keep cursor on the screen! */ - if (cursor_y > ((48 * 7 + 40 + HEIGHTOFFSET) - TuxPaint_Font_FontHeight(getfonthandle(cur_font)))) + if (cursor_y > ((button_h * buttons_tall + r_ttools.h) - TuxPaint_Font_FontHeight(getfonthandle(cur_font)))) { - cursor_y = ((48 * 7 + 40 + HEIGHTOFFSET) - TuxPaint_Font_FontHeight(getfonthandle(cur_font))); + cursor_y = ((button_h * buttons_tall + r_ttools.h) - TuxPaint_Font_FontHeight(getfonthandle(cur_font))); } @@ -16947,7 +16985,7 @@ static void do_render_cur_text(int do_blit) { if (cur_label != LABEL_SELECT) { - update_canvas_ex_r(old_dest.x - 96, old_dest.y, old_dest.x + old_dest.w, old_dest.y + old_dest.h, 0); + update_canvas_ex_r(old_dest.x - r_ttools.w, old_dest.y, old_dest.x + old_dest.w, old_dest.y + old_dest.h, 0); old_dest.x = old_dest.y = old_dest.w = old_dest.h = 0; @@ -16970,7 +17008,7 @@ static void do_render_cur_text(int do_blit) if (!do_blit) { - update_canvas_ex_r(old_dest.x - 96, old_dest.y, old_dest.x + old_dest.w, old_dest.y + old_dest.h, 0); + update_canvas_ex_r(old_dest.x - r_ttools.w, old_dest.y, old_dest.x + old_dest.w, old_dest.y + old_dest.h, 0); /* update_canvas_ex_r(cursor_x - 1, */ /* cursor_y - 1, */ @@ -16980,15 +17018,15 @@ static void do_render_cur_text(int do_blit) /* Draw outline around text: */ - dest.x = cursor_x - 2 + 96; + dest.x = cursor_x - 2 + r_ttools.w; dest.y = cursor_y - 2; dest.w = w + 4; dest.h = h + 4; - if (dest.x + dest.w > WINDOW_WIDTH - 96) - dest.w = WINDOW_WIDTH - 96 - dest.x; - if (dest.y + dest.h > (48 * 7 + 40 + HEIGHTOFFSET)) - dest.h = (48 * 7 + 40 + HEIGHTOFFSET) - dest.y; + if (dest.x + dest.w > WINDOW_WIDTH - r_ttoolopt.w) + dest.w = WINDOW_WIDTH - r_ttoolopt.w - dest.x; + if (dest.y + dest.h > (button_h * buttons_tall + r_ttools.h)) + dest.h = (button_h * buttons_tall + r_ttools.h) - dest.y; SDL_FillRect(screen, &dest, SDL_MapRGB(canvas->format, 0, 0, 0)); @@ -16999,15 +17037,15 @@ static void do_render_cur_text(int do_blit) /* FIXME: This would be nice if it were alpha-blended: */ - dest.x = cursor_x + 96; + dest.x = cursor_x + r_ttools.w; dest.y = cursor_y; dest.w = w; dest.h = h; - if (dest.x + dest.w > WINDOW_WIDTH - 96) - dest.w = WINDOW_WIDTH - 96 - dest.x; - if (dest.y + dest.h > (48 * 7 + 40 + HEIGHTOFFSET)) - dest.h = (48 * 7 + 40 + HEIGHTOFFSET) - dest.y; + if (dest.x + dest.w > WINDOW_WIDTH - r_ttoolopt.w) + dest.w = WINDOW_WIDTH - r_ttoolopt.w - dest.x; + if (dest.y + dest.h > (button_h * buttons_tall + r_ttools.h)) + dest.h = (button_h * buttons_tall + r_ttools.h) - dest.y; if ((color_hexes[cur_color][0] + color_hexes[cur_color][1] + color_hexes[cur_color][2]) >= 384) { @@ -17036,10 +17074,10 @@ static void do_render_cur_text(int do_blit) src.w = tmp_surf->w; src.h = tmp_surf->h; - if (dest.x + src.w > WINDOW_WIDTH - 96 - 96) - src.w = WINDOW_WIDTH - 96 - 96 - dest.x; - if (dest.y + src.h > (48 * 7 + 40 + HEIGHTOFFSET)) - src.h = (48 * 7 + 40 + HEIGHTOFFSET) - dest.y; + if (dest.x + src.w > WINDOW_WIDTH - r_ttoolopt.w - r_ttools.w) + src.w = WINDOW_WIDTH - r_ttoolopt.w - r_ttools.w - dest.x; + if (dest.y + src.h > (button_h * buttons_tall + r_ttools.h)) + src.h = (button_h * buttons_tall + r_ttools.h) - dest.y; if (do_blit) { @@ -17071,7 +17109,7 @@ static void do_render_cur_text(int do_blit) } else { - dest.x = dest.x + 96; + dest.x = dest.x + r_ttools.w; SDL_BlitSurface(tmp_surf, &src, screen, &dest); } } @@ -18769,7 +18807,7 @@ static void load_magic_plugins(void) magics[num_magics].mode = MODE_FULLSCREEN; magics[num_magics].img_icon = - magic_funcs[num_plugin_files].get_icon(magic_api_struct, i); + thumbnail( magic_funcs[num_plugin_files].get_icon(magic_api_struct, i), 40 * button_w / ORIGINAL_BUTTON_SIZE, 30 * button_h / ORIGINAL_BUTTON_SIZE, 1); #ifdef DEBUG printf("-- %s\n", magics[num_magics].name); @@ -19538,10 +19576,10 @@ static int do_new_dialog(void) { /* Erase screen: */ - dest.x = 96; + dest.x = r_ttools.w; dest.y = 0; - dest.w = WINDOW_WIDTH - 96 - 96; - dest.h = 48 * 7 + 40 + HEIGHTOFFSET; + dest.w = WINDOW_WIDTH - r_ttoolopt.w - r_ttools.w; + dest.h = button_h * buttons_tall + r_ttools.h; SDL_FillRect(screen, &dest, SDL_MapRGB(screen->format, 255, 255, 255)); @@ -19552,8 +19590,8 @@ static int do_new_dialog(void) { /* Draw cursor: */ - dest.x = THUMB_W * ((i - cur) % 4) + 96; - dest.y = THUMB_H * ((i - cur) / 4) + 24; + dest.x = THUMB_W * ((i - cur) % 4) + r_ttools.w; + dest.y = THUMB_H * ((i - cur) / 4) + img_scroll_up->h; if (d_places[i] == PLACE_SAVED_DIR) { @@ -19578,8 +19616,8 @@ static int do_new_dialog(void) - dest.x = THUMB_W * ((i - cur) % 4) + 96 + 10 + (THUMB_W - 20 - thumbs[i]->w) / 2; - dest.y = THUMB_H * ((i - cur) / 4) + 24 + 10 + (THUMB_H - 20 - thumbs[i]->h) / 2; + dest.x = THUMB_W * ((i - cur) % 4) + r_ttools.w + 10 + (THUMB_W - 20 - thumbs[i]->w) / 2; + dest.y = THUMB_H * ((i - cur) / 4) + img_scroll_up->h + 10 + (THUMB_H - 20 - thumbs[i]->h) / 2; if (thumbs[i] != NULL) SDL_BlitSurface(thumbs[i], NULL, screen, &dest); @@ -19597,7 +19635,7 @@ static int do_new_dialog(void) SDL_BlitSurface(img_scroll_up_off, NULL, screen, &dest); dest.x = (WINDOW_WIDTH - img_scroll_up->w) / 2; - dest.y = (48 * 7 + 40 + HEIGHTOFFSET) - 48; + dest.y = (button_h * buttons_tall + r_ttools.h) - button_h; if (cur < num_files - 16) SDL_BlitSurface(img_scroll_down, NULL, screen, &dest); @@ -19607,23 +19645,23 @@ static int do_new_dialog(void) /* "Open" button: */ - dest.x = 96; - dest.y = (48 * 7 + 40 + HEIGHTOFFSET) - 48; + dest.x = r_ttools.w; + dest.y = (button_h * buttons_tall + r_ttools.h) - button_h; SDL_BlitSurface(img_open, NULL, screen, &dest); - dest.x = 96 + (48 - img_openlabels_open->w) / 2; - dest.y = (48 * 7 + 40 + HEIGHTOFFSET) - img_openlabels_open->h; + dest.x = r_ttools.w + (button_w - img_openlabels_open->w) / 2; + dest.y = (button_h * buttons_tall + r_ttools.h) - img_openlabels_open->h; SDL_BlitSurface(img_openlabels_open, NULL, screen, &dest); /* "Back" button: */ - dest.x = WINDOW_WIDTH - 96 - 48; - dest.y = (48 * 7 + 40 + HEIGHTOFFSET) - 48; + dest.x = WINDOW_WIDTH - r_ttoolopt.w - button_w; + dest.y = (button_h * buttons_tall + r_ttools.h) - button_h; SDL_BlitSurface(img_back, NULL, screen, &dest); - dest.x = WINDOW_WIDTH - 96 - 48 + (48 - img_openlabels_back->w) / 2; - dest.y = (48 * 7 + 40 + HEIGHTOFFSET) - img_openlabels_back->h; + dest.x = WINDOW_WIDTH - r_ttoolopt.w - button_w + (button_w - img_openlabels_back->w) / 2; + dest.y = (button_h * buttons_tall + r_ttools.h) - img_openlabels_back->h; SDL_BlitSurface(img_openlabels_back, NULL, screen, &dest); @@ -19732,12 +19770,12 @@ static int do_new_dialog(void) } else if (event.type == SDL_MOUSEBUTTONDOWN && valid_click(event.button.button)) { - if (event.button.x >= 96 && event.button.x < WINDOW_WIDTH - 96 && - event.button.y >= 24 && event.button.y < (48 * 7 + 40 + HEIGHTOFFSET - 48)) + if (event.button.x >= r_ttools.w && event.button.x < WINDOW_WIDTH - r_ttoolopt.w && + event.button.y >= img_scroll_up->h && event.button.y < (button_h * buttons_tall + r_ttools.h - button_h)) { /* Picked an icon! */ - which = ((event.button.x - 96) / (THUMB_W) + (((event.button.y - 24) / THUMB_H) * 4)) + cur; + which = ((event.button.x - r_ttools.w) / (THUMB_W) + (((event.button.y - img_scroll_up->h) / THUMB_H) * 4)) + cur; if (which < num_files) { @@ -19761,7 +19799,7 @@ static int do_new_dialog(void) else if (event.button.x >= (WINDOW_WIDTH - img_scroll_up->w) / 2 && event.button.x <= (WINDOW_WIDTH + img_scroll_up->w) / 2) { - if (event.button.y < 24) + if (event.button.y < img_scroll_up->h) { /* Up scroll button: */ @@ -19778,8 +19816,8 @@ static int do_new_dialog(void) if (which >= cur + 16) which = which - 4; } - else if (event.button.y >= (48 * 7 + 40 + HEIGHTOFFSET - 48) && - event.button.y < (48 * 7 + 40 + HEIGHTOFFSET - 24)) + else if (event.button.y >= (button_h * buttons_tall + r_ttools.h - button_h) && + event.button.y < (button_h * buttons_tall + r_ttools.h - img_scroll_up->h)) { /* Down scroll button: */ @@ -19797,19 +19835,19 @@ static int do_new_dialog(void) which = which + 4; } } - else if (event.button.x >= 96 && event.button.x < 96 + 48 && - event.button.y >= (48 * 7 + 40 + HEIGHTOFFSET) - 48 && - event.button.y < (48 * 7 + 40 + HEIGHTOFFSET)) + else if (event.button.x >= r_ttools.w && event.button.x < r_ttools.w + button_w && + event.button.y >= (button_h * buttons_tall + r_ttools.h) - button_h && + event.button.y < (button_h * buttons_tall + r_ttools.h)) { /* Open */ done = 1; playsound(screen, 1, SND_CLICK, 1, SNDPOS_LEFT, SNDDIST_NEAR); } - else if (event.button.x >= (WINDOW_WIDTH - 96 - 48) && - event.button.x < (WINDOW_WIDTH - 96) && - event.button.y >= (48 * 7 + 40 + HEIGHTOFFSET) - 48 && - event.button.y < (48 * 7 + 40 + HEIGHTOFFSET)) + else if (event.button.x >= (WINDOW_WIDTH - r_ttoolopt.w - button_w) && + event.button.x < (WINDOW_WIDTH - r_ttoolopt.w) && + event.button.y >= (button_h * buttons_tall + r_ttools.h) - button_h && + event.button.y < (button_h * buttons_tall + r_ttools.h)) { /* Back */ @@ -19851,7 +19889,7 @@ static int do_new_dialog(void) { /* Deal with mouse pointer shape! */ - if (event.button.y < 24 && + if (event.button.y < img_scroll_up->h && event.button.x >= (WINDOW_WIDTH - img_scroll_up->w) / 2 && event.button.x <= (WINDOW_WIDTH + img_scroll_up->w) / 2 && cur > 0) { @@ -19859,8 +19897,8 @@ static int do_new_dialog(void) do_setcursor(cursor_up); } - else if (event.button.y >= (48 * 7 + 40 + HEIGHTOFFSET - 48) && - event.button.y < (48 * 7 + 40 + HEIGHTOFFSET - 24) && + else if (event.button.y >= (button_h * buttons_tall + r_ttools.h - button_h) && + event.button.y < (button_h * buttons_tall + r_ttools.h - img_scroll_up->h) && event.button.x >= (WINDOW_WIDTH - img_scroll_up->w) / 2 && event.button.x <= (WINDOW_WIDTH + img_scroll_up->w) / 2 && cur < num_files - 16) { @@ -19868,25 +19906,23 @@ static int do_new_dialog(void) do_setcursor(cursor_down); } - else if (((event.button.x >= 96 && event.button.x < 96 + 48 + 48) || - (event.button.x >= (WINDOW_WIDTH - 96 - 48) && - event.button.x < (WINDOW_WIDTH - 96)) || - (event.button.x >= (WINDOW_WIDTH - 96 - 48 - 48) && - event.button.x < (WINDOW_WIDTH - 48 - 96) && + else if (((event.button.x >= r_ttools.w && event.button.x < r_ttools.w + button_w) || + (event.button.x >= (WINDOW_WIDTH - r_ttoolopt.w - button_w) && + event.button.x < (WINDOW_WIDTH - r_ttoolopt.w) && d_places[which] != PLACE_STARTERS_DIR && d_places[which] != PLACE_PERSONAL_STARTERS_DIR)) && - event.button.y >= (48 * 7 + 40 + HEIGHTOFFSET) - 48 && - event.button.y < (48 * 7 + 40 + HEIGHTOFFSET)) + event.button.y >= (button_h * buttons_tall + r_ttools.h) - button_h && + event.button.y < (button_h * buttons_tall + r_ttools.h)) { /* One of the command buttons: */ do_setcursor(cursor_hand); } - else if (event.button.x >= 96 && event.button.x < WINDOW_WIDTH - 96 && - event.button.y > 24 && - event.button.y < (48 * 7 + 40 + HEIGHTOFFSET) - 48 && - ((((event.button.x - 96) / (THUMB_W) + - (((event.button.y - 24) / THUMB_H) * 4)) + cur) < num_files)) + else if (event.button.x >= r_ttools.w && event.button.x < WINDOW_WIDTH - r_ttoolopt.w && + event.button.y > img_scroll_up->h && + event.button.y < (button_h * buttons_tall + r_ttools.h) - button_h && + ((((event.button.x - r_ttools.w) / (THUMB_W) + + (((event.button.y - img_scroll_up->h) / THUMB_H) * 4)) + cur) < num_files)) { /* One of the thumbnails: */ @@ -20125,7 +20161,7 @@ static int do_new_dialog(void) } } - update_canvas(0, 0, WINDOW_WIDTH - 96 - 96, 48 * 7 + 40 + HEIGHTOFFSET); + update_canvas(0, 0, WINDOW_WIDTH - r_ttoolopt.w - r_ttools.w, button_h * buttons_tall + r_ttools.h); /* Clean up: */ @@ -21545,10 +21581,10 @@ static void simply_render_node(struct label_node *node) src.w = node->label_node_surface->w; src.h = node->label_node_surface->h; - if (dest.x + src.w > WINDOW_WIDTH - 96 - 96) - src.w = WINDOW_WIDTH - 96 - 96 - dest.x; - if (dest.y + src.h > (48 * 7 + 40 + HEIGHTOFFSET)) - src.h = (48 * 7 + 40 + HEIGHTOFFSET) - dest.y; + if (dest.x + src.w > WINDOW_WIDTH - r_ttoolopt.w - r_ttools.w) + src.w = WINDOW_WIDTH - r_ttoolopt.w - r_ttools.w - dest.x; + if (dest.y + src.h > (button_h * buttons_tall + r_ttools.h)) + src.h = (button_h * buttons_tall + r_ttools.h) - dest.y; myblit(node->label_node_surface, &src, label, &dest); @@ -24284,18 +24320,18 @@ static void setup(void) cursor_tiny = get_cursor(tiny_bits, tiny_mask_bits, tiny_width, tiny_height, 3, 3); /* Exactly the same in SMALL (16x16) size! */ - + //button_h * buttons_tall + r_ttools.h /* Create drawing canvas: */ canvas = SDL_CreateRGBSurface(screen->flags, - WINDOW_WIDTH - (96 * 2), - (48 * 7) + 40 + HEIGHTOFFSET, + WINDOW_WIDTH - r_ttools.w - r_ttoolopt.w, + (button_h * buttons_tall) + r_ttools.h, screen->format->BitsPerPixel, screen->format->Rmask, screen->format->Gmask, screen->format->Bmask, 0); save_canvas = SDL_CreateRGBSurface(screen->flags, - WINDOW_WIDTH - (96 * 2), - (48 * 7) + 40 + HEIGHTOFFSET, + WINDOW_WIDTH - r_ttools.w - r_ttoolopt.w, + (button_h * buttons_tall) + r_ttools.h, screen->format->BitsPerPixel, screen->format->Rmask, screen->format->Gmask, screen->format->Bmask, 0); @@ -24334,8 +24370,8 @@ static void setup(void) /* Creating the label surface: */ label = SDL_CreateRGBSurface(screen->flags, - WINDOW_WIDTH - (96 * 2), - (48 * 7) + 40 + HEIGHTOFFSET, + WINDOW_WIDTH - (r_ttools.w * 2), + (button_h * 7) + 40 + HEIGHTOFFSET, screen->format->BitsPerPixel, screen->format->Rmask, screen->format->Gmask, screen->format->Bmask, TPAINT_AMASK); @@ -24347,8 +24383,8 @@ static void setup(void) for (i = 0; i < NUM_UNDO_BUFS; i++) { undo_bufs[i] = SDL_CreateRGBSurface(screen->flags, - WINDOW_WIDTH - (96 * 2), - (48 * 7) + 40 + HEIGHTOFFSET, + WINDOW_WIDTH - (r_ttools.w * 2), + (button_h * 7) + 40 + HEIGHTOFFSET, screen->format->BitsPerPixel, screen->format->Rmask, screen->format->Gmask, screen->format->Bmask, 0); @@ -24371,24 +24407,24 @@ static void setup(void) /* Load other images: */ for (i = 0; i < NUM_TOOLS; i++) - img_tools[i] = loadimage(tool_img_fnames[i]); + img_tools[i] = loadimagerb(tool_img_fnames[i]); - img_title_on = loadimage(DATA_PREFIX "images/ui/title.png"); - img_title_large_on = loadimage(DATA_PREFIX "images/ui/title_large.png"); - img_title_off = loadimage(DATA_PREFIX "images/ui/no_title.png"); - img_title_large_off = loadimage(DATA_PREFIX "images/ui/no_title_large.png"); + img_title_on = loadimagerb(DATA_PREFIX "images/ui/title.png"); + img_title_large_on = loadimagerb(DATA_PREFIX "images/ui/title_large.png"); + img_title_off = loadimagerb(DATA_PREFIX "images/ui/no_title.png"); + img_title_large_off = loadimagerb(DATA_PREFIX "images/ui/no_title_large.png"); - img_btn_up = loadimage(DATA_PREFIX "images/ui/btn_up.png"); - img_btn_down = loadimage(DATA_PREFIX "images/ui/btn_down.png"); - img_btn_off = loadimage(DATA_PREFIX "images/ui/btn_off.png"); - img_btn_hold = loadimage(DATA_PREFIX "images/ui/btn_hold.png"); + img_btn_up = loadimagerb(DATA_PREFIX "images/ui/btn_up.png"); + img_btn_down = loadimagerb(DATA_PREFIX "images/ui/btn_down.png"); + img_btn_off = loadimagerb(DATA_PREFIX "images/ui/btn_off.png"); + img_btn_hold = loadimagerb(DATA_PREFIX "images/ui/btn_hold.png"); - img_btnsm_up = loadimage(DATA_PREFIX "images/ui/btnsm_up.png"); - img_btnsm_off = loadimage(DATA_PREFIX "images/ui/btnsm_off.png"); - img_btnsm_down = loadimage(DATA_PREFIX "images/ui/btnsm_down.png"); - img_btnsm_hold = loadimage(DATA_PREFIX "images/ui/btnsm_hold.png"); + img_btnsm_up = loadimagerb(DATA_PREFIX "images/ui/btnsm_up.png"); + img_btnsm_off = loadimagerb(DATA_PREFIX "images/ui/btnsm_off.png"); + img_btnsm_down = loadimagerb(DATA_PREFIX "images/ui/btnsm_down.png"); + img_btnsm_hold = loadimagerb(DATA_PREFIX "images/ui/btnsm_hold.png"); - img_btn_nav = loadimage(DATA_PREFIX "images/ui/btn_nav.png"); + img_btn_nav = loadimagerb(DATA_PREFIX "images/ui/btn_nav.png"); img_btnsm_nav = loadimage(DATA_PREFIX "images/ui/btnsm_nav.png"); img_sfx = loadimage(DATA_PREFIX "images/tools/sfx.png"); @@ -24410,20 +24446,20 @@ static void setup(void) show_progress_bar(screen); - img_yes = loadimage(DATA_PREFIX "images/ui/yes.png"); - img_no = loadimage(DATA_PREFIX "images/ui/no.png"); + img_yes = loadimagerb(DATA_PREFIX "images/ui/yes.png"); + img_no = loadimagerb(DATA_PREFIX "images/ui/no.png"); - img_prev = loadimage(DATA_PREFIX "images/ui/prev.png"); - img_next = loadimage(DATA_PREFIX "images/ui/next.png"); + img_prev = loadimagerb(DATA_PREFIX "images/ui/prev.png"); + img_next = loadimagerb(DATA_PREFIX "images/ui/next.png"); - img_mirror = loadimage(DATA_PREFIX "images/ui/mirror.png"); - img_flip = loadimage(DATA_PREFIX "images/ui/flip.png"); + img_mirror = loadimagerb(DATA_PREFIX "images/ui/mirror.png"); + img_flip = loadimagerb(DATA_PREFIX "images/ui/flip.png"); - img_open = loadimage(DATA_PREFIX "images/ui/open.png"); - img_erase = loadimage(DATA_PREFIX "images/ui/erase.png"); - img_pict_export = loadimage(DATA_PREFIX "images/ui/pict_export.png"); - img_back = loadimage(DATA_PREFIX "images/ui/back.png"); - img_trash = loadimage(DATA_PREFIX "images/ui/trash.png"); + img_open = loadimagerb(DATA_PREFIX "images/ui/open.png"); + img_erase = loadimagerb(DATA_PREFIX "images/ui/erase.png"); + img_pict_export = loadimagerb(DATA_PREFIX "images/ui/pict_export.png"); + img_back = loadimagerb(DATA_PREFIX "images/ui/back.png"); + img_trash = loadimagerb(DATA_PREFIX "images/ui/trash.png"); img_slideshow = loadimage(DATA_PREFIX "images/ui/slideshow.png"); img_play = loadimage(DATA_PREFIX "images/ui/play.png"); @@ -24470,12 +24506,12 @@ static void setup(void) show_progress_bar(screen); - img_scroll_up = loadimage(DATA_PREFIX "images/ui/scroll_up.png"); - img_scroll_down = loadimage(DATA_PREFIX "images/ui/scroll_down.png"); + img_scroll_up = loadimagerb(DATA_PREFIX "images/ui/scroll_up.png"); + img_scroll_down = loadimagerb(DATA_PREFIX "images/ui/scroll_down.png"); - img_scroll_up_off = loadimage(DATA_PREFIX "images/ui/scroll_up_off.png"); - img_scroll_down_off = loadimage(DATA_PREFIX "images/ui/scroll_down_off.png"); - img_color_sel = loadimage(DATA_PREFIX "images/ui/csel.png"); + img_scroll_up_off = loadimagerb(DATA_PREFIX "images/ui/scroll_up_off.png"); + img_scroll_down_off = loadimagerb(DATA_PREFIX "images/ui/scroll_down_off.png"); + img_color_sel = loadimagerb(DATA_PREFIX "images/ui/csel.png"); #ifdef LOW_QUALITY_COLOR_SELECTOR img_paintcan = loadimage(DATA_PREFIX "images/ui/paintcan.png"); @@ -24483,11 +24519,11 @@ static void setup(void) if (onscreen_keyboard) { - img_oskdel = loadimage(DATA_PREFIX "images/ui/osk_delete.png"); - img_osktab = loadimage(DATA_PREFIX "images/ui/osk_tab.png"); - img_oskenter = loadimage(DATA_PREFIX "images/ui/osk_enter.png"); - img_oskcapslock = loadimage(DATA_PREFIX "images/ui/osk_capslock.png"); - img_oskshift = loadimage(DATA_PREFIX "images/ui/osk_shift.png"); + img_oskdel = loadimagerb(DATA_PREFIX "images/ui/osk_delete.png"); + img_osktab = loadimagerb(DATA_PREFIX "images/ui/osk_tab.png"); + img_oskenter = loadimagerb(DATA_PREFIX "images/ui/osk_enter.png"); + img_oskcapslock = loadimagerb(DATA_PREFIX "images/ui/osk_capslock.png"); + img_oskshift = loadimagerb(DATA_PREFIX "images/ui/osk_shift.png"); } show_progress_bar(screen); @@ -24575,7 +24611,12 @@ static void setup(void) /* Load shape icons: */ for (i = 0; i < NUM_SHAPES; i++) - img_shapes[i] = loadimage(shape_img_fnames[i]); + { + SDL_Surface *aux_surf = loadimage(shape_img_fnames[i]); + img_shapes[i] = thumbnail2(aux_surf, (aux_surf->w * button_w) / ORIGINAL_BUTTON_SIZE, (aux_surf->h * button_h) / ORIGINAL_BUTTON_SIZE, 0, 1); + printf("fname %d x %d -> %d -> %d\n", aux_surf->w, aux_surf->h, img_shapes[i]->w, img_shapes[i]->h); + SDL_FreeSurface(aux_surf); + } show_progress_bar(screen); @@ -24639,7 +24680,7 @@ static void setup(void) for (i = 0; i < NUM_COLORS * 2; i++) { img_color_btns[i] = SDL_CreateRGBSurface(screen->flags, - /* (WINDOW_WIDTH - 96) / NUM_COLORS, 48, */ + /* (WINDOW_WIDTH - r_ttoolopt.w) / NUM_COLORS, 48, */ tmp_btn_up->w, tmp_btn_up->h, screen->format->BitsPerPixel, screen->format->Rmask, screen->format->Gmask, screen->format->Bmask, 0); @@ -24669,7 +24710,7 @@ static void setup(void) for (y = 0; y < tmp_btn_up->h /* 48 */ ; y++) { - for (x = 0; x < tmp_btn_up->w /* (WINDOW_WIDTH - 96) / NUM_COLORS */ ; + for (x = 0; x < tmp_btn_up->w /* (WINDOW_WIDTH - r_ttoolopt.w) / NUM_COLORS */ ; x++) { double ru, gu, bu, rd, gd, bd, aa; @@ -24863,7 +24904,7 @@ static void claim_to_be_ready(void) draw_toolbar(); draw_colors(COLORSEL_FORCE_REDRAW); draw_brushes(); - update_canvas(0, 0, WINDOW_WIDTH - 96, (48 * 7) + 40 + HEIGHTOFFSET); + update_canvas(0, 0, WINDOW_WIDTH - r_ttoolopt.w, (48 * 7) + 40 + HEIGHTOFFSET); SDL_Flip(screen); From 000658a1545b3e62994bb9423dd53d68afd35bfc Mon Sep 17 00:00:00 2001 From: Pere Pujal i Carabantes Date: Fri, 25 Sep 2020 00:44:45 +0200 Subject: [PATCH 02/10] Resaving blind, emboss, fretwork, halftone, mosaic, rails, tornado, tv, xor and zoom PNGs so they don't display all black when scaled. --- magic/icons/blind.png | Bin 648 -> 1028 bytes magic/icons/emboss.png | Bin 259 -> 3158 bytes magic/icons/fretwork.png | Bin 183 -> 4351 bytes magic/icons/halftone.png | Bin 1114 -> 11939 bytes magic/icons/mosaic.png | Bin 1097 -> 556 bytes magic/icons/rails.png | Bin 260 -> 3602 bytes magic/icons/tornado.png | Bin 298 -> 1704 bytes magic/icons/tv.png | Bin 986 -> 1300 bytes magic/icons/xor.png | Bin 309 -> 8493 bytes magic/icons/zoom.png | Bin 1114 -> 11939 bytes 10 files changed, 0 insertions(+), 0 deletions(-) diff --git a/magic/icons/blind.png b/magic/icons/blind.png index 0669ff2cbc6bd431e6f98aec3a6b385e1838ee8a..507bb076e0b2597dee6c0f9fdc2a49b107c3d70f 100644 GIT binary patch delta 1017 zcmVw7ziyhNL7S%000A(NklU1(fI6vxk*Id|?yHf_kZ zDKUOwEfw2DXlg^>`~)HBYfZ%>C^RBI_#lFBzUi}8MDU{s^?${R7K%a%#pSkCE{&Vn;BNH#58GiEOfiqu@pB@;! ze(1y}ul-nluJZQ#+h(CSV6I=6(nw>CbRxWDL}qm4(4#})5)(pV zq-iIJ99e?MT2+Z_Sc&tPK>~vCLK^Y_$kqxJCr5{K-1J-vdR-gma!<1BLE4Kg(okIlvS;3$Kt2M z9}VuSy?=Ug`?Y&6N7ZY?S=Y~xIq+yzQ6Q@tP{;*EDvw%2sg)PD^}ClQ_J2!R+7~b0 z|J(dvD=4CoY6qp-H$Cuhdhg8nF&4rO{%XUn#a2+nMxc0Uq~sklpS{2sFHgM)fL^zN zA~psEKyaXsjq9yp_0#vVZW9$wxl1V0CI%oYm49c`zM*p$M!OcS9xR-4mr(ky96bh5 zT5u{}{{EeyULDBeHcq)S6lwbZ1jtHf$L_llrI(&pb>xnnV#8D8AC8nfv4ny8#FnS4 z9XZ7XQ)6H4e;_+DS-v^9D_MPG`t!pbKmnM0{P;6kyngPfZ6jg=o$SEus5f0Au-1xUET}Mt?>ANsOJoI~4rFo_lP#7BP2Awjy z?}wc`ba@_q^GxwllZK@@?P)*}8-e1;Vq(`GfgZtwraY1iu&9={*VQJVgmnpf{_0*> zdq`IvfR-ygNgjgojG^5G6lCN?udOOFxpII#dKsITOE%QVn}Bk=nU|BnOjs&VFmC$! zY991O-yyFmjWx<5#{WU71sZC>o#t@^O3`;trYeI>AZOGB#S7&fD&KJDT48BpA7=kG n4FCWF0&=nI&3kXfc>(1gl)V0wbS9?M00000NkvXXu0mjf8(z*? delta 634 zcmV-=0)_pA2#5uc8Gir(004Wo0|5X4010qNS#tmY3ljhU3ljkVnw%H_0004VQb$4n zuFf3k00007bV*G`2iXP`7Yqmz*`VYA00J6GL_t(|0fo~`YZFlv2k>+5z4Mq!gwXh) z_2ELHqBIK?K~V64AoK&c5ZrW8L|pnIbm;?J`M`x67g{I^Qh$soROm|FxiKi{LW$MP zOmgON@Abw`iesD1KLq}Pb00s#74Mf`pFQztarV;vR~K(=hkw(#**tT-xj1{_+4IBm z;@85v{&Y|E(u5}p3Q;5}Zhvi4ND&F8QA?>L^Btc>qMPIb7X=G5ExRZ5D|*e z%4|Rh$vBNOp?}gWP04(MexUxJ1kF6lge_ccZX|(oCX{Je;ePtf-J^3m zrra;_Td6WiDf^3&rX>YT^kee!aS?j^z7;X16*1k92Y>ghoMtmCl@g3f`L0{1ycQsp zV1QZosCIiUb;o144{<$gtX4j&@tB?SP?g>btDBTy_$0*3d)*Hn@gpxZex!@-B31fw;ctPKh)!33+KQ5n7&JyVf5>3I03D02u0H6G! UKQEJu<^TWy07*qoM6N<$g5hu^*8l(j diff --git a/magic/icons/emboss.png b/magic/icons/emboss.png index d18159f80a0d3e0abe9f025b3017bd1e96fb0966..050967bf84ce5ca86bae288794e7415d1663d4a4 100644 GIT binary patch literal 3158 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 delta 243 zcmca6(abbKqMnJFfq_AJ^AU}oXkrghbO=%#PtRP6Oh@^(D48Ne@)p5 zw?K+Yg8YIR9G=}s196hP-CYCzpogcs^V{vK e0Uh@_m>6WPgk(=wt9u1Bg~8L+&t;ucLK6VG5lhYh diff --git a/magic/icons/fretwork.png b/magic/icons/fretwork.png index 4b16c92f0413be2ab4da7d89dd4efecedb20fdae..2adb4f930d807b05581611786e72fa723f81c2f6 100644 GIT binary patch literal 4351 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 delta 167 zcmeybxSer=L_H%j0|P^f@VR+FinG8YvY3H^TNs2H8D`Cq01C3CJNh~@Fl_AS{*%ZG zWmAeC){(;Q)boFyt I=akR{07H;5bpQYW diff --git a/magic/icons/halftone.png b/magic/icons/halftone.png index 8299b4a2ff7c866df43534bf8231130b319a4e5e..80c4dd907da61b3fae80a0eb42a0355fefcbc7b5 100644 GIT binary patch literal 11939 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 delta 1104 zcmV-W1h4y}UD^nc8Gi!+002NyTKfP10vS+DR7LOa@9ysI?d|RC?Ck67>+I|7>FMd{ z=;-I?=j7z%W+}qpR+S=OL+1c0E*Vfk7*4Nh3($dk< z(a_M)&(F`!&Cbls%*)Hm%F4>g$;rsb$i~LT#l^+M#KgnH!+*lU#K6G7zrVl0zQVn| zy}Z1rlzK)rKO~#q@$yw zpP!$eouQnZoS2xHmzS57m6eo~l#`Q_l9G~~0Dk>-_C?+N*B_$;!BqSpvBO)RqAt50kARr$fA08ea z9UUDS8X6ZD7Zw&46%`c{5)u&+5fBg%4-XFx4h{?q3=0bj3JMAc2nYrS1_T5I0|NsB z0s;X60e=7h05UQ*;^O4l)X~(?&ybOhcXxDfXkjKNB_$^$A0HhV8W$545;HS6hlq;K zgcn%=0004WQchC+9=CGlX&7ie-|*vy=TM#tA@0O#0LGxH!0sN()3F0_la#v$A3`rq{YAK?Gdq*uix7 z3V|rj+S&c{qZk+r+UEv>#ntCILlmg2VDKsdFF0leBU=7>2G=PD@vl_(F?wZ-)VQLvQpJm{P zDV(*~rE6Bj0wnPEybY?z&SQvyZ z;nGlLU=UlmiU-IuUm}4Skp4@IA&li9B7bTQ3#JnNC7DRPsm0jhW71+aB}>Zq2q;QivPq;z zk$@WSMN4Lw5>R70eaT`!0&3*Cmn=yppoS0V=u!>>iZYihY2+p3==l`{3kXAD1_l6Q WntB$GD$djZ0000Nn{1`6_P!I zd>I(3)EF2VS{N990fib~Fff!FFfhDIU|_JC!N4G1FlSew4N!t9$=lt9;eUJonf*W> zXMsm#F#`j)FbFd;%$g$s6l5>)^mS!_!YRQm%XawLiN6dCjPjl?jv*e$_lBJ2J8Zzg zeC7ZD)b|@YKW(@yyR2}96i1)0LYlpqx$%~%OP3$7IMx-HENrKJUL~K?pvK1UL4sK8 zf4Z;?2Zr3+GWKjIBqkp zJmatE?3BRp*2}8f#VTUI?TO@xCoX?+$n+3;Y5K|LYH{jO^V65VK9PGeVd0Wyv#yCJ znq~agbuE50Ge%o}is=4^@+r)V&V72aykbxJPR{N>t0$xdf2h%aE4jgbv++v#uc`~` zm;;k?c)DVjxP1>Owct3htZn=8oJYI&{aGmOG21SxJE#8?L-G#&#QSUO=Eg9d%L`e% zNvm?^wyN!?-Z^`}Eo?cm^Zm1b*;k+Fy!ro)N#^Tpu1C!36M>tyOhODSt&A+K49v6*jI0a{ES@{rqG-s?PsvQH#I3<|*RMvP1_n=8 KKbLh*2~7Y!Innq4 delta 1061 zcmV+=1ls$o1jz`H7=Ho-0000Zv$ReC00Q@ELqkwdXm50Hb7*gHAW1_*AaHVTW@&6? z004N}V_;yO;OOGy$|S(RP*7A-Aje(f~3=)%z3mgLid_e5H{Jc~K zRKUo<@a-CiWMH_g3o?s=G{Bk+v=~Sq0Aiz*)Z%0y{RN2A%YRD>fZ~iXK(C8-r4y$sIz1(ija=@}&ohL)C=3XUoHNvR6KmBl5gxy1^edCB=j z1^GpZC8;SuwNN`ifY&9zM8Q2VGf%oGbb0qUZ<~J;sEFCPjSoK(2 zS?{q~vQ1L!`h-lGth($ixjuOp`9BI< z6$_R0l-??@RVh$4QT?fQP`yhdR8vXwgVq7Ve5b_{%L!I>*10xuwt;r8_SO!@jyg_i&Ppx{uJUdQ?#dqOp1NKp-Znn&zQKM8 z{`mp*fqxT&mIm(%xfuE~oGC&s(kdz32ceFNnyziDQi-1rgLOiWM*c~ z&Ayn+o@bw5QLw4-U9omaR_Us;Hx>GoB~`m>7;C-irq(}f)N86~KHDnSR@i>DQ@X3D z`*g2rUt|B>i8hmFPyRbKe%j#~8Z-N6eV>ys_kZ+!^94&6i7aki@@-k>@_Q>oR-Ins zvUcBk%MIH$nQY#&)nwcD9acN{?{?jDc3;^32M2Qw{XEisO#JwYlh&usok>3X>-?mP z+Lw-ANxb^+`kb3Kx9;Alzo&fv#KXMDVo&xz%X}g7^5EeJe z3PJoj^{4fpt<80d!JMQvg8b z*k%9#00Cl4M??UK1szC{YaV~z2n7fVGT&u{z5oCKwn;=mR2b7ukV^^#F$hFUh3d-r*5}A~q+Z^tc65ADn z4#lk!bS7X)ghUP)9t7*WqgN!0l(}KSI+YEib&LGWR(x}1ZJ$!nI7gGY)ly|~DjAG>kfy-p@s5>3%fkbCqvSz1 fn*^!0^Y?onXXhc|?ogR300000NkvXXu0mjf1McU2 diff --git a/magic/icons/rails.png b/magic/icons/rails.png index 4c70f498acb45c42b3cd6e425293625efcb255f5..51f7c17f572155296fab1fc15365554f07ef62af 100644 GIT binary patch literal 3602 zcmV+t4(;)YP) zaB^>EX>4U6ba`-PAZ2)IW&i+q+O3&cawD;hMgO^qUIOP~IUFN;2XFa(fK1u4ExXFq z&k8A}8~_l*#RYBlfByHF|KTsR=1okc=9aVNFSgix=S#KMU(-)#qkih2e_V4P&l|Vz z3!YPfW4L~ne&63YpWYvMlQTY^H?_WLx&+-99s+}C_Iz2-MsnU?=Uu!7wcDcHYI!zw z`0F_D8`YHiJ*HKA^W$EAo97d;;H8yN6ujTT1*@O+vLIaV&b#sHL*zcEXHtlULk#Y= z1c!WB-s5QPvx7c3`SHzs_Wrc5o$vd7NBHE+eEWzmFE6x*jtg&38sw^YD&5!;J%%2YoE_D!dcli@qAKO1vf^U-)3~nyxvI$B%K* zE!W*~TaVLCOpJc}!qNNbgPyCQ_~vJjI7NB6;|tMSp%TC8w+VsM{>>JrdYkH-uA+H4 zZuJgfjz_+InV&BH=4H;2fIBD7oR_b#%S&EkhD1(2xr>0fbH^>IgCDOu{ProaNL3=3 z)XkLzb~`Q+Bf0n73L59YeTm~$Le7+R3&2I_P8j0?5uk2DauiSTzBq>;D*@_QF10a; zfJ@0QjPx;t>`n32i*BANPVe=}XD_G0CIXQ{4u#lIUj!@0ME;am$)TP?iYcX>N~$Kc z)N{x&r<`-i0&=~C5=$z%lu}D8y@ncVs=1b0YpcEa7Qn#Nax1O2)_V7*qo^aRbARW| z@FR>k(#WHXI@;)y^qFy{nP-`Gw%M0oVF42>ud?cDt8ZsENU`HiJMXgVZo40H?SvCg zI{B1SPdoiBYIjt>ynYcicSp@@q~yNx7B$YAQXV3lz)6yr5iuVf5ib$}65315Y;`eu ziJZjDHcwF`kC91YW0sSM5yH5gPshE*?mcpU6*rUWU&YP;DRM?a_uq(|A#`8k_9AMl zD-H*Zn^d9r)CQ`L>$`U2YnP_hKORTiE6lKZPbUqZ<{GK*Q`-p`I%jeXlq%7e74b+a z-Q-f^LGF&J4gFS~{;qjN>t-%zQf+;a2d9<8eR>xS=TvH=)0_r)MjlQ4a&|}?L8~Nz zLE3JZbDT{O7ov8V^6>G#vsO^Cs0^~ga~D@UB_dZ!kEP|cyT?O4+DTI{t-l+Cx_5J2 z527Nhd_)D3P+%@Oc>(Bd=fpF$?NQDNTYlK)QaCeLU34S@YC$6&=Xoi~i0byOAKq2t zwena-|Eir@yA2?eV#2!t5A~}2qbGIYjS}vAM4RJ6xp~(qec3s3p@L|izJG~O>BDY_!C)S zVrhgcty9au5;t<8BHBoc1}ddm#1_{=-PIn-XHK4+$4PqC5sIpi9&Ln*EtWF5({@em zUmQg!Arxne+^k~E1x?JjG zFsYvqzFGHgmTkVjp@G~f7N6>dHGx{3^_#rXqAo*n0c^~6kq%b!D7=P}PsakVxeVMl zIP99s`BLZF<4jEngR2zZkG`t{Msm$as2q#z=>3BH5FBqLeAQ(21yoil@ppevN)M5)yY#h~!6 z#GzhIZO;X(1(5q#z-kV$ROrWSplBGwojtgLiU##qUEgb*VMA2VGYt`h^hKwrVLTpf{8K7C2i?>9p*L#()Q%cvPoz!l>&a48N2MV-Px)*lFtXCIYYF6=Nj zbh&Wefr~>`^=*Cd!z(x3$Q4a|hAuGpkLurG^G&yErurYsGb&L-CTMx4smDM}X;|A~ z-SUnU86>7tS2XM)Bk^T!=5)WCc$i#WW80QyAq7ry`$&`L(!>%f*81U_Rg!GTjFJXJ2`#>a24&6~XS5KY|3bSb%!BwDnT5ZY{i>2$@ zq*?sU(Y(4Ke*V6Z!#0YhKd-Ku^Ok{3wRcB9 zBARO72uH0`$1``qWbzQ(eq7pj$Gi#f_SEtUd1lC1&3@#JKd0Gt^x?v6zEGA0Zl>7W zvt;ZpN&K+g)gH=S%D4ag%KZ2;E~G+`!IvD zc{fBXR!hvkdE~1@%)fc$t3%AU9!Vv{bzDhj?Ia+{bdVWVqhALpQ1Wv!m^|w0P;SH6 zLYX39qu~gbu?S+uP!Vm-J_|^nr$GKX!6Txnh^|Y0EZMwRGo6XHE#iZS2Xk^BK{b?Q zF&3EVDF>fA+z1*zi_eVfNt)xfHPDns%I^Qu*TxWj$$Ca&?yY+RhsdFWj8$0e(XPPIM)R|C z#muxs8;qip(he*#bFZeTG+9PLKOV&dlHI9ej^@r1s_jC2U!Q0yS2fA{SRKhKDSYKG zIH<)mmS%5WMjs)HR}+LGUe&a=Ch@qdNlj_DDGx(vB6l%ihYI>&$}3mDFh+{$%^XR{ z%b44gXG3l?=s}(sMaSqyUnw0w=9Q5S;qi%t%@s;Ai5i1F(<$OJbMmP)KgTHB8GJXe zEX6rVs}WGKD62L6a?G!*XTSH6jTvglnXs`!G9aB=CDwEl;yxibEz-D8p{p{1z`Uty z)UCKFMTYS-3X^)B-burc za}021#x*#zvS!&&h{Bm+YdO?OcV&ggFi;3(7RsYhqePXfo@<)63a1xeZbycC$CQF` z@MV^DSEV1|(bl#ml)1=^1bkl?aiySwFlHBM?+rX-vII(X>2n0-%t;w@lz$%Fto1fU z=0BOO?X62$E19CC^}-(sA}W-$$$uG?w3^f|)+&yTGBH}kC&oHutw(0aD?O^F!*@4F@&u8UNx+S|*y9|Dx4Up|2On5S&mVm42kwvz@$O<26R-61e{V?`{ z1lzzt%UnU46Jxn|JX4&&xg_>^kZ+~O=cdOjN8~Sr)jDDykzv4qV~GyLye2yUfIjnX z3g264g-mOEI3GqmBTK*NGHB3BS<042BGQ>&b70Hq_*HYUbhqTgvLfvZIW)iKuW`uO zGaAjw>k?_rPa05ODu>dX<|YyG(8|%@C~E;CaZwGz9w2?03Qfk^tQ8N-nUk8P40iC{ngQ2U+5tpw?@u+Y>TLUuQyh%eU(d``ITO}i0ons zWs@%AR)?pgyNeW?R+28l1Xz!D5iNl56Fm=Kc(8dV!lZ$gcwB#==k?WmVBYC4CG**o zSM)r*o)COJkioU!pmA}j3PDhav4YhpO;Ri-F(fI) zH}FmLVLAwcPv8?MIQ!q|;9wRn9R82PIsbp}g_fO!X*s(MX;u}k-|b)auk86Z7Fegv z4tqgZ=3UP_q49jaVi|qu7_a8JKhIngm!Wj3%EG*;z}go(lPWi?V)eG?ABrEuc9dq3 z_({AKrIBH?>!-;${P8rmS&FlZbJJIC;&RL>9ySBUj7X^HNHcYgaM+c)6a?H;5=s+d z^(LCBxDl0daybz7M7m8w-bS70DP1qM2Sre~W>l@= z5Z)hQxeqJPuz1~&)&Bjqh8d@x`R5zI08V&Nm~PkreE-9O0+stN;K2 delta 244 zcmbOv)50`CqMn7Bfq`MoXUBIyN-Mx8#FfDi$YKx_6x7ktF)=Z*w6t_|boB7>2n-C2 ziHV7ei;ItsPf1BhOG^uwz@rIN%2*QQ7tG-B>_!@hljQC0!qCAg>jC6&7I;J!Gca%q zgD@k*tT_@uLG}_)Usv{f9IPDN91KOdIle%#U{4pv5RLQ62@K4R9IB@p81|Hh&)v(- zQhx2u-Uby8_9q-h1{#hUrfew;TVq>v9PjOZTJ5;)&blSbtTl^-n41k-HaQfkyZRk^ j<=b_)Q`PE)UbP0l+XkK*q2Az diff --git a/magic/icons/tornado.png b/magic/icons/tornado.png index 0d7cc27fc017653c122e3cf15dd448b6c807f805..cdfa119db1c95e9318f38603392dd746ca36d6d4 100644 GIT binary patch delta 1700 zcmV;V23z^60;mm;7=H)^0002=)Ra~L00dWhR9JLUVRs;Ka&Km7Y-J#Hd2nSQWq4_3 z004N}%~o5IiCBo&H)M z%N{jN2QuRy4v}amhy#o366yBmg;>X}~yJn;} zSe6STJbXAn@_#Y-2gDBxr@Ke|dLZ_jsrMl7J#FuG?yltmM9URXG2GDcZ!oa~@^pMw z&=j}eS&vrH415hxK7m0;8&rwG$_|uiQlm}lkb?$X%)D43nFpssXGyv806&znH`=UV zZzcnOgI54&Iq}^WI@YbndV>rrPr_6t7$bc0X$xNset)Nhy`69(2XmZQ!7ui>h8xbD z_m~AjXkWa^0r0I|^v8$5@=(o~<}e#J*kV6TbfK5nN(avg^91rtAqqM#1Aqu?3!I?@ z29P&N2+5<&N(3AY1T}chDRTz{B*GI;a!#pmP&W3p@r}|kmxT+v8np>TNGeIe4e|?Q z^D*nV4njv{`3c6c#GQ z%1c&Rx@^_eHezk3oww|=b=$7H-C4U>eb>Ih8h>4^@xheO(>rU>2GyGh@^T{185rYC zU|gL61T;Hm(I{tj=A5%w*$WxNNpWt%Bxej1=0z-?z*(SIh;c?!RCz zfV%g*eZbmmM;%TFZ=QvYX-vpIj4x|}t@)wWK9Q?qi%lbH3FxWlYu+sb{epwAXH@bg zFn?b{g(9}&ODtxKYd7Y)0cOcKT~e_ovlSb7VWHf6o-r4n{W?{VNlFs(HZzf*z$! z5V>r@p?CNFzv3q{ydU7T5|D7B-@k$Xb${*#TiFgf5&;gy04^gkaY)M6lz=26_AR$h z$ne|T-(vu&orMExMar$=Btr3tN4(~WfQxWZ!8?t~J+32MCx4Do_&LlU7{b5Vu;xh- z3Aqwcz@}?=#JO&9tp%sHc#nTr_ctPu+|iiBDn9|}MTTb)t)3+-CAeHrLK}k8+<&DB zo-I#C_9H}7`F@hTk>ML3h)_iwF05ZS3amS{P~h-BazH3D0v83W&Y$@8+u4u5d*xD* zym6-5S6H>#!ho2u8V-R!%i3pBfDVc<|Eb9SKN|u$RkV4nB7f}76Y48V;i)ARCoOU$ z{0sQrP*B&UX3hWr0V8QcLr_UWLw_J}a&Km7Y-IodD3P6zu}Z^G6o$W4u_`(#MbsgK zYr(}#E>$523Nco&I;Ba9#UzF#rT7NEi9SpRLGTHD0tILP8yy_X;)TQiaX9Dy@4e8n zlQ1pkcOlKH!u5ND%fXf1eq)IZI<(me!ZPo9-U*H8^A*eJOV@Zc&;5B8qJOvyr889) z=0ye8zSx;oxnULSw|)Om{2;cYG>gPf;+-gs44Yj)O(x-wr@75aoL!uozG@qnV@~m~ z88Tr^LPb}asdI$Gp46ov;GU9Dnh>iu)l9{WsFah-fv7LiZ5r}6>pV{>LwStlWfJa4 z4{pPCK#|%32S*-ri+>mNblicBOSudX z!`RUB&`WUGoTm=E4gAIYOBlvyiS`_BI#3i4#Y$iKs-A_zDE?thH(FjfHAd*r_S110 zjvz!PN*N~JHflR`LD!rm>hen5>9W-Uo0^)S3^^|x;aU<1g3_k@MS`BqkYII{yCd&z uE9LF4M^|YX+wb7fqaExz-FP;+ulogyIyp|I3tff)0000FdgVkE5QIgIhLteaAAOSh1&zV~EE2y=N8q8VqK4M39+LaU8f(MV-fZFWONRTsr#37_A}e#yAOC=kdiz${}9LFx3vr+VO#C> U|Gn7r6KFq!r>mdKI;Vst07Cs(4gdfE diff --git a/magic/icons/tv.png b/magic/icons/tv.png index 41f50306155ef04d5868ba231efb346bc241f247..2a01c860dc4c9220aeb091cfd99458afa077969c 100644 GIT binary patch delta 1293 zcmV+o1@ijZ2b2ns7=H)^0002=)Ra~L00QfJR9JLUVRs;Ka&Km7Y-J#Hd2nSQWq4_3 z004N}?U!A$+$ao%-&sYLU`Ysx1Q0B~xoA#U}?0nfN?m&5Gl(O4%swZE4-Ht1jeV+AL`KH?!zr(X3 z8dPeEiG;Ze$+50}WgypCaAsUt6n@8T3Ft_Uoe2badA++oj%R^hM85CB_v+W`566ryAl%=O}nCwaH}()f#V6u zWj&VAP_YQ>=x57l4qg?=8#Fl4DrI7bJOV{(RA^9NeWi*NBX>6R%#~%?T#PeU@F9t_ z(O?6;CJug;dk}${AGy$)H?R3BIc9DIS0)4_Jo3{Pet$LiCoPOIffG$J>!lU);#t>7 zW0IR!cmW8F%}tlUciZ@nr^1@08sRo&cD!IY&MU;J^if-~I8VBY{#rs5tnC1h2y-iv zAprrb8&SgIF=iuzjt)QtnX^PbL4Z`bAxVxRiG#88oEy&=EniknJk8jf074~+feqFd zV8y7YAAgIE8Y(IpRW+%p2hCcNq?k0NWNB`4#l)hiB{Or&R$M%~dUA93>?Ly+?17q7 zw(L3QQaBV$R1mAczrb?xDQ7(OOsAcG=Cf3kPmNV;s#d+`S{gTL*d|(P*1Y9bI)#p% zqQ|a1b?e@9F9WqUWW=E(4I4i4C=Y6z>JRM?sDII>#*5VSvj;U;gV`N|=60f!8HjNt z5VuJH1EX>4Tx04R~2kg-a`P!xv0RIw^LDMi#FgKNRX zOfFR+2nsP)usWqlip3;`B&GNUzKK3e2SM-&d;$e${~H|~%;JT^|8Y3y|L?ufvXd|^ z=XW8^s>1bqgUi8{-F{<<4LY>h3c@n)d4Jvsjpy?f%jiqjcs0-cc^0C$45c$w7Uo3- z*1p)8R=Hsn>$iRXQ2Zdaqcn@ePvV^@jSQPzKTRg#kEglKN}OGso4#rrmt#)xuo*I8 zOhQFhnyGVy!=BWoAmE;oP?`{{H`PqVji{89%Ympb(rp^@HtRf3DMNXTR2MQIhk*hx@V1~4NONb z0x$3a{|wZkfGSXXv8m)TixJ>tH5R`iq5pU;AJ+q1=^!m=N$J)A0000J delta 976 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 bOFjMo2D3_IsK}P;00000NkvXXu0mjfRT2M~ delta 293 zcmZ4Mw3TUsWIZzj14AbBn)g78v%n*=n1O*?7=#%aX3dcR3ML2mgt!7}AYfx-6A%y( z78X`iRMghiHZ(M}u&}VRv-9!s2?`2|jEqc9PR`BEEiNvus;X*fY3b|hn>cae?Af!I zE?v52&6;i7w(Z=x^VqRt7cN}5e*OC0yLX>Fc~bxJ!ZXf^v diff --git a/magic/icons/zoom.png b/magic/icons/zoom.png index 64384743d79715d96bd285c840413d58f59ca624..80c4dd907da61b3fae80a0eb42a0355fefcbc7b5 100644 GIT binary patch literal 11939 zcmV;UE?m)xP) zaB^>EX>4U6ba`-PAZ2)IW&i+q+O3>fmL$26Z2z$eE&-EbSPsT>-VS>CeFYX-tYVQ( z@{!ESh-8Gj8B7OJ5rx9t`JexH-CzFlm*7M6E?aG-m*V+f?zzXoKbrsk*WcIR^ZWY# z7vsew6s0zW-at&+7+2x4*vO*FD1gi|N58vTkGF{VEj0KUXlLB zmgUDr{NwNbBG}(I{xk9KZk&EwQT*dCEXMMu$NBkt?{4>=@99P^ShV~^ly|?Z^B(K& ziOJJ@Tj5XTukr8t{&fB{{IziT_RCNHtk6TmE7ye_b{OG?^S-aJSYnPRR=&r$VtPMo zsm2}`jtMF2Pq?w-y`38VTk*J*_;LJgE#cj_zx%DwxbqIYGzKmfc*{Th0?AWjtRY~>hJywxk15BA2ZCALEHdVlN^~{0 zsC)CC8s2N8#S-;nun9+4DyiZd@(X9>Y{XB^jTjo1ESp)eYRy@jyuXai*E4%`)q3v(K>z zpOu%bvg&H9ud(A!8<^N-*WGsC;{a_VWPpK*z`n{K{#%dNNFe#dWK`|;|Z z{`?zW3qM|q&r^C`{mpCq)Ybay5v`x%DuR$R9<{~U;ZROa}6G{Hp4nK&H`QovBvAUtj*McW-@&oEE2BU-S%y@ z-kJGZ&Mt-fFD^V+=Lf5la7piT_MWvCE`qhWQOQ*Pij}T!=S){G_o+MU2f=iY6-Q}v z#d>1yJI|cB;WoXohMu*Qwx}g>?mc#a%;;TQXt!f|_TAgwCr|(D`D#9`%rUkvH||0N z*kPHox5DdE48`}9iTF+kFL(ScM^vM(8EP87U`VREmYdtWjgpecs$Q^Y?%_<3jlhWu z%j{iFX^S5h*EVo7!f9)kai}t@20J_qsdKpX!82TJmW~sEP2{2885Hq7S$lC4wT*$L6p;Pg=2P2%UTQ3f1D0m^W`|3e2XE zi-BOj>7{8HBzG$Z&#;PnAT@InN2ZiLam=&o?f~PyGaV3Z0M99aYQQ8gO~&!k&9&AF zQ)mG|Tu@PW-AkCgxLc^YbRu#F(MiDMasmVzm(897CI*J@nRXg^<0nSv8GX%U?7~FV zJwHuivCQKeRiyMC0xQ2ncsx1o*}SZfl*MbGRaim;(Rq@6Vw-!GJe!*sG2w5pZ|qwr z5e2?TI?g=^5=$~v%8DR^H1h7%0RVz&6G6aL_7PyouAPQJn&(g}cEKV6tFo*)x~ zSqfe>@;=WwtpO3x%vl`>06z+09z;l6#A;VjzdO!OUXh&?rU?pB>_)yS3BX!u!}4lr z68@NWwd4FHmrZm{xnPa;{Vu;80CI6l9>kCDXF{Fv za`ktEi330@;LW9q9MXvTl>Eq@f>>_^2SF~m699CPvPAaqrZ!J0nOZ}zEh=3d>9%$) zkcNx=z(&5;I(;Wj12}w=s)lL_i*Zd=jtDT%Gk`0gFixtZWr5L8K&IfEy&wVOCt2WGNcs6*|g9G3pz%2kDz^ zfYPp9(y3KEe5VWpAgdnM-T_|VoT6PxP>Swz39R7|NYG+3g2X(V2Oyns|Ja??Q#&ij zUG&hlENS0SksOC)STS*f0IUE~KV=IIBKt+2w}RJ;|R|DbDWM%GW_Q#K3MAfV5Xcc2xJ zJytk*#qHL*c)$(j;F~-MHz_HQ>3bOo-gzk47E2PM;qeQ3^kiWg04j!u=8iK0JT4X1 z4=-?}ZxyzRWcWJc&R7u03xF&yByM`HfiIW;NQ%w+;SGfq!4+*R-FlA%W`hBJR^SLY z#G}480)sT=r65J#K-G?ibZ@f}*C7aU&uLd(4@_s{wqlO(+{EOD*cc^i6NQ_^f^?`* zz&Fn3-3O4}R1g}C>EZ3T7V*+Bby=je%(pEXGIW8K%77)0zJH(xMsmU28br) z+b>jx!!ATFMb=ZIl&J^sKP8hJM-&O4!3D|Tt-Fw^CK7RbYZ8!NSc1Qrnk*EJDq4UY zVuhjr;CLATfv1VapR2$CrZaVmU!c8-!!uTT>DeTmFgBGPT-4fq64!fhI;SZ91c|_B zT_B-JC=i6=7PMF6u6-{hcyP*s4X~o*FAK!Jx?H z0vnG*9k@tc=LKWka8GKpzvNANwLb!l1r`C%__#ksgGd1TN#`(?FD3>Wx3$OUAlFm| zUO;lBedglPCV3=sktQieBBL=n_mPECfNCOmLIlSEGN}6KhqOV$HC4W`D*<4m0woT9 zO@ig%x5#`fc#o*WJLWN7z^)_{-$;D|BoCAa^5#T*N2bq=wrvIW;z&+(A*2rQQ+iSG zcyXxYUr~z-%uA2@>}}W{CTTKxflP%l7Rku6U~BG77>2>;sKj~$XymyY#S|d`+z1&r zC7#D7_-}@0z=R$J01S#AH5qlzaRvC?=tc1?LMbf;>yA8%yhPsdwX5J_65a+`f-`J% zdM8l`!aj^j?gj!oPoBny*Odc>(J%#sRh=XVuIO_Hzq(2+>Eel^L|PH6uu1NSvwd)j zpiM1_9is1XTsBZLgRbysC{Pn8d{01LLA-`SoHc+&L`0Nog@$``pZfU?@F2HXowy=^ z2Y^E1#s*4H>VV1=6bC9v?!h{&fouK)1vjV$R4ri|_uE3Fz9Ucv@L5PG=SDD*CsU+W zmiM33>FEV8EDP8==D0VB7YVMRx|%}-JlB!Sikj7F;Ja%bs))A(iZ=kVQk4`=FFuX* zAaNa{PX>Sr_zwKV9t%A4-mgWh(d~Xc!PjkK8C+D~gx|!AK=x$Ll9# zw6vc@Y-?RDT%>0CZkmXht|D1iI9CJ{(G2h8zX|Gy)?f&OpYZ@xcoO>@4-5A7R_Hin zpPy38^bbS?IgLgJYqQz}FrT!#9+4vI0IMZ&a3vIhP&LtQBiU0yW5Rd1_O0XxtD+*R ztg=o*x>gbzCOgPrzp_IV@uanqbEx(TD1?Ph-WRGcGsx5<$~37*afNOT8pFM%+bt&w zf?Pn*xFLdQQ0N95Mcc-xuG~5X*N=6Js8`X-k_fAf4n$H@Ks^{kxqhKE?1Rzd;tU%Yy9+0V`LQW!-C{9X&zm7;03s5a9kVZWp{A$FP z$y=QqNJp)KQP&|Fec;uRz5_o%5^$sO=k^~ENj(j1^BVo?v4%Di{ z3c00#NIIRk_n8Pv0Olk`z%zhZU=&CP-b$S&%eUWx32ZRPU1T&^QADWw5^aFbgab{W zy!Hmt78OYT0ag?te$ZVh;%e&wColnS2uZBrF+ZXYZGt$&5leJVDl~h91Z-r2W|z^_s|p{`yCY#Q@4MZ{cAVn=289Az3>W zSuj2Xb5z>~(SxODkBEdE_P1 z@DdL18HrXZQrRyG2v-2+ihi&Tg`tDW-6>Ud)SQuS0O}#5F@gxr53DOR3X>)0>iFq!C1^?8k?r^H<`aMF{&D_{Ss&a;#YkOY=Xz~7J7z=6Rq z^rjY<9(Hh5^&KKlO+DCZ9bg}dHm_Wr)DSvCnidRY;S}V$T3!XNh)KCB^>u-2&1&?l$PF^ptQM}hpFN9@*WZ-oV>Ulwf;ILJ# zv8#>|4vpA=zdQw!gvZdu3&0x`>C~U8rY)Wv$V2WySb*XZ-d75;!TkH{XNj9C(jIg5 z3QHCN8%1|e$5CyDn@J+x{5CakA1mW_tX~=ESPg6qIo)BlkPQI&1%61-K*3n~vIMJw zc@^}=C=~H&lCP+STkeLhxb+$}+E7H2v={IM9>zsV05ldJk6Tn(*27(R$lVnaYMzg; zmwix0j$aGYz;$@}P-{8c(cS~(5VZ+81(DZJ$3#t-LZL-WompRR9lXMFM$%#y1!sFn zibe0s$jpsji;Vbute-*vA5kzJKQ?H2wR=NKJ%&h%pd+d(6@iNQnaV-Qo+KZXg4@(# zXfT2+akjJ(yS~`t^{9ZTz~HaL4&>HV2*W$DE-U2UM2uQ4FzroM96WPG?UOJoM%7#Z zLb-TJ)D$iFNg+X1kjq;e4{!`*!u{(x6}ai{HGArM z)(@oV(SGt&{}U#Q;ubPtX=Te|!65dtWlTZF8Ip@4GZj3F@Un8W(G2>?f2u@43$=h) z*ve55sDBKyOky(<(dyBt!e;>(w|9y;m>H=BKQOgHl(|zH849WmIs_fwqmHS045B3| zprbIXqHaO1yT{opZ$Wak5COoKmPc1%k zB~we+OH=J#xGpXN&sZt`6Pq!$LV|cM3FTnSS^b%$Sj0yd7@F}gpgqRPQY&>3yUh&5 zLGIC2RwHC~ONw?9i~o^puX?~tI{dj~`MuXtI}%(I6=+Zao)6{MC1%OUBh*qTX3Dk1 zGIuYOY$R)ax|SvJb%JvwWPig|Am^mQ9zzCx`i>`0^BsHoaX;}zE> zZP*$p)1o&SO5Ggr0!*N`$f&l}Y2>jG@+ZieLHj=mS-@%rnpU(NJW5D0HA7?^5)0Cy z{k}0?zno%fQiEiuA0~~1Y)E1(YC{qza0?aJ3^P6@f6Q&Pyq>`?|uDi0-IhA$LZFv&C=>)`+CLsC*IxMcV?BVIg60$f>cV z`8u~02NH!maZzOjd6%}n6K;c`f|v3I;zC})Kt)qT_Q|vDYaUD6`4k$I$tLxc#@b++ zsN6V3&f0;T(u5us&{ZjH=ON96p9r?ix>00g(f70SC&#nHmwNXQU31+O>lSxKU6e{K|_D zthYU2n0=(64ODF2U@o!}pdiga^>7vI5!9i|MLVSrk04!;jiYg!18+jWcw9^=Mk3)3 zv8RaiBtwYGw5gwNVmScJ)F2HSi7-$A*${Gu5P0k)N#5%75h!F=4__*<0#>cqRi#Nd zchG%kU8GQ&JUK!MDmNduC-1%b?-`4xpB7qEJIuzn5BydS`vP;9Ym*9jg{zCi;+5ok zK*T7Rhx~m=o&;TfS(G?6O~O# zte!3!fea^>q_q&hYFz~|QFsSzn0mF`fk&LhxP~LSV^^akH8n8N>>XOESp^AK4S_&0 z)Th@l(K?zMAe-TWB_@AnyQUo=7@GLbh;PFGXm5EBF3rW}ul9=P{X=BM^|sZNwy7QM!LMdO zcpt$kn6MGS6Z3(ntD>~I0BcR!!$xkX<@>^-p5$PA`)wvg6LHZdExb$Zx+YbT<*vb7 zgeBO3I55$Oq25kXC@C;tunsWP-itQ4OM9G@;GxoPb&ytINj&tZgdMrm$3S@Sq)qMP zt5F2>(@`8ay*v}q+SUbRcTvO#*oPW4gR}=2fiE$-tqG7oA{iiAsBXTO0N7DueRMt+ zjSdiJRM^MzJw^wi&7O)cgn1`epizzNCS=Vp%{ zV?G24@eFM+9rYsoXjF-f{{b=>Xbivi443!s~xG=Mlgq%4HBefb>I(H|6ba zkH&(Is#%N}T0roFwU*B>EkdNCBnz<$Kthg37ANf0MEaoaVEdSW?Rh-|NDzdi6+_nu zF{d^sxczmulzJKLLp^25qXZ?R+LLO1!iuPaWa0^p)XIT+()hnB_Xq3*f?5Dl!f+Zj z(uhfbuADc#a4~A3!oh>I*@%WAB!*-WbP=;2uLI_lvf1J zBmlpkas(T+wTz8W@W}J>CNrLb)5bQJZj-_djA(CmYBC91nr4ZpjM`ZvXLgUI3x*i5 zPZTROmo>Hozspb?8(>z$jvxqS+#3nu;Trk;>>u$k(mO zH;o6g&JVEMO=5CDjKq{C8B{LcoQ&i<*C6wIf#@8{$&Ecy&YE_tAp%32oq!Q`Y)+G0 zlK@e3Uy>SnudbWaX80bD6z>UWRQrw!leKxa6jSiawLk_cbngyDTBj2GK)$D*f^+~A zCBxE%-f@wQw$IvN(C)iwS{qv7)!&9g8#zF7IBNC8HX2pXus~JkC3mVpg`Nt6wYOJ^ zJ~BZ=_mp7d9j4nPI(WT9*ThA1R6nYb&~a^TH?^TfAyl;kgG|35T$Hq+HZ-`NsDLN( zpSK%`r*}cz9nSGkpmyFC=vH@e;NE#GV%j87!DL;x zN7OoNa?PLSsEa77-wz)B?RT_+2sFg3*c+|WNF7L{2{+KHA)rZeC%dX^rI8KF{eqDZ zFmML^^roE>tN`tRRaVS(s2Opjb0LnH4u2fUz~f*hop-=v1LBJtj7+6yns*5l#?h!D z5eEEg)W{&w5U(Qnpl(L4Flz&kdYEOY;EeS~GAmSIuB)k2F235;juWeq-5wwG+y_S=sJMOD?3)&yxax8KFs(TR0<7 zhr^WqWkD7;W7YFp zJ=PKqX;e)Q9Mp0<(`mQ9qLWCEq5X!TF3O@_p!u`5?p1-U5;fFRj`sP96{pN2SMNw4 zjA}2IhtXw479?G&&fJ}<@Q*M!)9AT`%-5KqOi`C6)Q{Td2ht^%r^*n1wHJ>lJ>6^X z?y5XM_bW*C09r=M-?;O;ITtn<+fk(jN0Amt)vTUsmi*fj8vC~WH3z3@$THvu11q6y zBa}Vsqz5HJZ4~b=G)l+v5U129PmUq+H5h?kF#XWc4GbeS!~ylgCx-QdT{E7fZ(In$s0lR9YT767sT?G*iUhJHiLlv|(yT3mNq zcuH;5l{M9Rlz5(}rwAh|CQbgo zS=}p{3J*%^SS;&;+5NJNqnQT_6y@y~U&YXyR62hT(KvuonCs2l}LuR=DEF`*0*a)6`#DIU?89n9|tso(gdiA-^pO%!{5;aP&egGy)l++t8>% zn@tIl2tS7WJzzdgQ`+REx^=@OTEyLhrbpF}!8jx#!fj|{`Pq+!#g!$3GVjS%8(>zJ z(++$9dq^l4PSW`K+odC60AP?35hF?Je+{6+qsUyOd_y+1sj<0^dU9yfBLYS#q%vpG zq@kvyq7fE@QkvSQ@DPMIupY#!SbP!g>f|K;RzuIBTwt33Nu>Uk@;2tKHkN-z1xNY( zS$0br$%Rj@wbXMeSrh>NP{8)0twZ1CA`tq%%XCRByw_pSYN5h`$qLwB3ZP2MvFjBmMa3&r5C(@UOl*d-*iTVIw66-EU zR$6swQ5b@rTcN^8giJcaeTR0-Z`-O&zJkZ6OYOARw>zPjaAwFT<+C#y7xcdm(md-)wXdI*((~jlAFR0(6*N_BI^=b|aA_|gnPY8O@ z@KbxU{6#A0aUx)b!h`_Ssjiv$Ie;|W6_x#gC^UmMJI9vzhb;|d29lyva@4>?4m2`f zr_jMa&6+;`fMz;L`)eSeW;sREx+E(CacZvy+N1MVkh7%bcK=52f_*1l(EEre^$`n* zH`J^BViJtzKO~A$BI>l1k#oweJP9#mGlfkZ@&Os&l!u^HS9jy2avPo36$k1AD# zPZo9Wf{a6g2<@Y(WvKKDL6bO8(en;m9B|Fj)T#(b9fpM@XhJ%pSac{vyIqB{al&ih z1#)-}@JNH%8bMd1@CZ;${cH`+6OyFJq->~#3!91ik+P=a4kM%Ka;U*Cil_B)&=6UN z>MiQ8rpe%XQ(L%s!$zPOVx0S%vOqNe{Z|Jq)<6pd9k_s&0{T1Cuk)Y-G@!1|-`P}i0G*!|?or#N5Zfz4xzyIz__zl3VI$DX+#jkFS|C}sXb8gb zW}yxa$|P6X;8_xjZg01RxFDpOCc!nY$5PO=1g17EO=r%kX2P^HP3em%-hEb3&kf`} z>V0etAA#|ttHM~l%3L&xmACtAAR|yG|B;GRc8?C3kXcHd&{L-`xv~&w-=06Fpgpuw z-^0!8uAl0cC!h=oXDUg2m(WrJLSyQhX|bmDtv%l0rcPIArfh3!v~FGELPk@L4G7mz zmBzm?ZQ!;uQlrt2?G01Bv41ga9bALSXg|z4QA>&LaAg=<3hLgmWLRxK)bbHD&VvoX zUy6rj2&C7C2xXXiTa-AD6k563 z#YXtJI&FVwGn=r0qM%|Z(*{cdCV3?48q44&=o0Q6%U$Ao-w?{Jny(O>M};^wQ^KuH zgE(r*)B=ISA)iu3aBrPs(r~bL!;1Fv$T-d5%{Lc3yS*~u#((Kx_CL7LCOC>tuSt&u zq%3f$W1?4c(CWHqgh%6B{b-AMy?qg4Q>)c<1TpT}o*)htC)^{s zt|1eg^EQ1$llDZVQt>JHRa5Z>gA9TKP1NSxbb4Axt9WjZ9KXd$7%o>ebwyI8xV=6F zq`XO+g04=Asr8!nfYr~Ycp7hpl@L0bWSj)%)z+jAo`kOB_nN0rr(&7OIu%*ewQDmq zc*kGLkfuC&`VKg#+N7dAtCJoH3Qnw?Fw}^>Nd8jm`E4|y7S(kpS=QsmNvGviG)bk9 zA@rIvJI}h{$8c&Eys$?%RZkHK0=fGRqk$hfOH%c)I(U~!LV`VhC#S7zSyP;3t~WSf z;~TGnTp#YIZVxuo$cE;JfJq%6eRF&21@t#q*fgi90RdbGHQB|fwXfqZc%_OlAOjW; z9ih>cvWcfOG~P6hYdV36y6{&!FykHmP`v~0_jE5jVKXz1&wde;B!OEK(tamTP9oHb zcBZN(LxD8_rs~MGI-#00n+{#6wlR>+OLZ*9r}4OCD8FkC{`2qdUwz@oYu5RS zbVg-sG~rcgoe?|ss`Rgoa6;hcRH;6AqDY78gAz0@Qu53iJl5z8C>kK_y1>$~Zh1kx z!t?4zC_?w4KsrdRsqA<7s=tjE?DQSJ;>+s%YBxs(Z2^@H7kXm=icanDLCcAriqauz zxG$?0vv|8x`p^cQi&z4`j$}amIqeBi2RgPxv79;%r7VGE#i8wa$xZn`y|Gr| zYam=m^r{c<03#gi%pQ@?T_>ILh5_v~wiM4DEQe{rgCJhxw?-K>cIHZIV z;XprWjws6@ZEEZVu|Ij+R##sF7S67tBs-Ldz{we!7DNf(?$1`M!AUu;Z|kI0^<_)b zal@2%a&Je1b{)8F zI#s*hhh$71994R>4Tka&pVuB$P50Zl(dV8VO%27II9WhdzfrsQiS=vy8}%oN&zgG_`IEx;Z^r?Rk*V=+ zzmEjj_w6XPUJH7Gm$01Wb*gW!Z0~f}&|!pKcE(U+q@^~NHXR>yZ`{B2Ss>!t2p^fH zBLTNQyM&U%jS28XxKE9(nY|BL=q619V?RHi)1{s#Fw#!k=^YwD;X^No&y*1|S>xhZ zy4|RmPVGgGH{}e^YWhd}I{*F6lsN$cWt#}z$4Gr`e|DDFLepq%)u+pRQ^3C4FQNnG zA8(uJNajK}bW|8D~r?=aMi&y^0Rcx+6e)#iG460RMf$h3JQ9C zo>7U99czR4ZGJax?fRhE0&cb7*+)1)(2o(Lt)-2t@jiP^EmuEIlXkgPv2RD8F;g`z z3&}U_jrjH*df-A^NBA`ZD8f!nR@F;BcWuJNu)(u`wxuOGmz}Pm>f`EX>4Tx04R~2kWEU%P!xr~RPhfTDMiFVK&J&KX5^$Qgn~kh z6|9cZB*kJ9Ly}V5fjiN~bRY<>z!fMs_Ppr8ftmQ=ay~Bip7Y*=mYsxYIll*KRu!(_ z9b68s?8P^h*`y8Z1YwzXJ@16Z^ZANp^rd6Gn&@CX?{T)7)k?&MwYPU$u=(k5fEshD;cfP|=ZQ>Kx;+ zFLfyhxThqPCdBGZHB)gTD&^#IDC&!Jn})otI?q$eP#$A>nS?u1d73=T|9-E1oYk9F zdzJ@9P`Bn(t(8)q-H^5P`)v&~PCfI_H+})y=TKf}bZ49Z0007FOGiWi z|A&vvzW@LL32;bRa{vGf5dZ)S5dnW>Uy%R+00(qQO+^Rf2^baz0}e#T%K!iZQAtEW zR7l6YlwD|!VHn4M&-S)38jE2En-|THk9|a`nFESaM4Tvu12PAj7TTHGNMe(ZB_HK$ zZ6`|<`G~^8@>$5xyN1cfkt1dGbFgO{ucf!1a@_|{_y4-C-(COvx*z!eamWTcTy2xT zt7)kNn(gp7(`X=|jCOB22&C3|PH=(+F1OWW!~u`;ono$#AjT{p+BrxDhnX4-K$iKPFTAIWJU()VIBR*#nSqLWGi@~a$7!-_(|yUqzlY9*U=XEMu6Mm{UpP` znebhb7V80exMe3B19;^%y4gxz0MHE#O`4a{!QW#T8xA~VWtf^8zzg%jT^pI?rZUWz zB1dl;3Byh;u#SUEg@aI`c)uG`FRW zsW&TZ>s#fv8kc`KHfZd3p@mMe*bUwb8<&eX&F4n?msN>4)~nGljb@0Mo{xrUF-weD z8x8Z)A`ury!+f?(#Cay7f!2vQ(Y9!qI@83FHb=uWJ4y`P9S!r)Ng}R^hDn4bm-#6g pXsL)Z?2Kx1hI6AK09t)5z%P?vX+BvCnk4`L002ovPDHLkV1nYid6)nI delta 1104 zcmV-W1h4y}UD^nc8Gi!+002NyTKfP10vS+DR7LOa@9ysI?d|RC?Ck67>+I|7>FMd{ z=;-I?=j7z%W+}qpR+S=OL+1c0E*Vfk7*4Nh3($dk< z(a_M)&(F`!&Cbls%*)Hm%F4>g$;rsb$i~LT#l^+M#KgnH!+*lU#K6G7zrVl0zQVn| zy}Z1rlzK)rKO~#q@$yw zpP!$eouQnZoS2xHmzS57m6eo~l#`Q_l9G~~0Dk>-_C?+N*B_$;!BqSpvBO)RqAt50kARr$fA08ea z9UUDS8X6ZD7Zw&46%`c{5)u&+5fBg%4-XFx4h{?q3=0bj3JMAc2nYrS1_T5I0|NsB z0s;X60e=7h05UQ*;^O4l)X~(?&ybOhcXxDfXkjKNB_$^$A0HhV8W$545;HS6hlq;K zgcn%=0004WQchC+9=CGlX&7ie-|*vy=TM#tA@0O#0LGxH!0sN()3F0_la#v$A3`rq{YAK?Gdq*uix7 z3V|rj+S&c{qZk+r+UEv>#ntCILlmg2VDKsdFF0leBU=7>2G=PD@vl_(F?wZ-)VQLvQpJm{P zDV(*~rE6Bj0wnPEybY?z&SQvyZ z;nGlLU=UlmiU-IuUm}4Skp4@IA&li9B7bTQ3#JnNC7DRPsm0jhW71+aB}>Zq2q;QivPq;z zk$@WSMN4Lw5>R70eaT`!0&3*Cmn=yppoS0V=u!>>iZYihY2+p3==l`{3kXAD1_l6Q WntB$GD$djZ0000 Date: Fri, 25 Sep 2020 08:58:23 +0200 Subject: [PATCH 03/10] Not resizing buttons if not needed. First letters of text were under resized stamp sound buttons. --- src/tuxpaint.c | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/src/tuxpaint.c b/src/tuxpaint.c index 026999cd7..8bbfa69c6 100644 --- a/src/tuxpaint.c +++ b/src/tuxpaint.c @@ -8082,6 +8082,11 @@ static SDL_Cursor *get_cursor(unsigned char *bits, unsigned char *mask_bits, */ static SDL_Surface *loadimagerb(const char *const fname) { + /* For the vaste majority of users return as soon as possible and touch the image as less as we can. */ + if (button_h == ORIGINAL_BUTTON_SIZE) + return(loadimage(fname)); + + /* Going to resize the button */ int w,h; SDL_Surface *aux_surf; SDL_Surface *aux2_surf; @@ -10560,7 +10565,7 @@ static void draw_tux_text_ex(int which_tux, const char *const str, int want_righ SDL_BlitSurface(img_tux[which_tux], NULL, screen, &dest); /* Wide enough for Tux, or two stamp sound buttons (whichever's wider) */ - w = max(img_tux[which_tux]->w, img_btnsm_up->w) + 5; + w = max(img_tux[which_tux]->w, img_btnsm_up->w * 2) + 5; wordwrap_text_ex(str, black, w, r_tuxarea.y, r_tuxarea.w, want_right_to_left, locale_text); From 7121c75c78bca7ef317c0a4fa8f8d41da5d06ad2 Mon Sep 17 00:00:00 2001 From: Pere Pujal i Carabantes Date: Mon, 28 Sep 2020 13:35:18 +0200 Subject: [PATCH 04/10] Option 'buttonsize' to change the size of the buttons. --- src/parse.gperf | 1 + src/parse.h | 1 + src/tuxpaint.c | 13 ++++++++++++- 3 files changed, 14 insertions(+), 1 deletion(-) diff --git a/src/parse.gperf b/src/parse.gperf index 38056240e..143bef138 100644 --- a/src/parse.gperf +++ b/src/parse.gperf @@ -163,6 +163,7 @@ version, IMM(version) wheelmouse, POSBOOL(wheely) windowed, NEGBOOL(fullscreen) windowsize, MULTI(parsertmp_windowsize) +buttonsize, MULTI(button_size) mouse-accessibility, POSBOOL(mouseaccessibility) onscreen-keyboard, POSBOOL(onscreen_keyboard) onscreen-keyboard-layout, MULTI(onscreen_keyboard_layout) diff --git a/src/parse.h b/src/parse.h index be6c4cebd..d8b0b3c96 100644 --- a/src/parse.h +++ b/src/parse.h @@ -43,6 +43,7 @@ struct cfginfo const char *parsertmp_locale; const char *parsertmp_sysconfig; const char *parsertmp_windowsize; + const char *button_size; const char *print_delay; const char *printcommand; // const char *promptless_save; diff --git a/src/tuxpaint.c b/src/tuxpaint.c index 8bbfa69c6..f7eb72f50 100644 --- a/src/tuxpaint.c +++ b/src/tuxpaint.c @@ -708,7 +708,7 @@ static SDL_Rect old_dest; static int button_w; /* was 48 */ static int button_h; /* was 48 */ -static float button_scale = 2; /* To be set from user preferences, should default to 1 Change to 1.5, 2, 2.5, etc to test for now */ +static float button_scale; /* scale factor to be applied to the size of buttons */ static int color_button_w; /* was 32 */ static int color_button_h; /* was 48 */ @@ -23151,6 +23151,17 @@ static void setup_config(char *argv[]) native_screensize = 1; fullscreen = strcmp(tmpcfg.parsertmp_fullscreen_native, "no"); } + if (tmpcfg.button_size) + { + if (strtof(tmpcfg.button_size, NULL) < 24 || strtof(tmpcfg.button_size, NULL) > 192) + { + fprintf(stderr, "Button size (now %s) must be between 24 and 192.\n", tmpcfg.button_size); + exit(1); + } + button_scale = strtof(tmpcfg.button_size, NULL) / ORIGINAL_BUTTON_SIZE; + } + else + button_scale = 1; if (tmpcfg.stamp_size_override) { if (!strcmp(tmpcfg.stamp_size_override, "default")) From 8c8852c8db583b5007866fd3bcd3f1483bc30ae4 Mon Sep 17 00:00:00 2001 From: Pere Pujal i Carabantes Date: Thu, 15 Oct 2020 04:19:06 +0200 Subject: [PATCH 05/10] More on scaling the size of buttons. Also in dialogs like Open, color picker... --- src/tuxpaint.c | 187 ++++++++++++++++++++++++++----------------------- 1 file changed, 101 insertions(+), 86 deletions(-) diff --git a/src/tuxpaint.c b/src/tuxpaint.c index f7eb72f50..a3d509c9b 100644 --- a/src/tuxpaint.c +++ b/src/tuxpaint.c @@ -12162,8 +12162,8 @@ static int do_prompt_image_flash(const char *const text, return (do_prompt_image_flash_snd(text, btn_yes, btn_no, img1, img2, img3, animate, SND_NONE, ox, oy)); } -#define PROMPT_LEFT 96 -#define PROMPT_W 440 +#define PROMPT_W (min(canvas->w, 440 * button_scale)) +#define PROMPT_LEFT (r_tools.w - PROMPTOFFSETX + canvas->w / 2 - PROMPT_W / 2 - 4) /** * FIXME @@ -12176,7 +12176,7 @@ static int do_prompt_image_flash_snd(const char *const text, { int oox, ooy, nx, ny; SDL_Event event; - SDL_Rect dest; + SDL_Rect dest, dest_back; int done, ans, w, counter; SDL_Color black = { 0, 0, 0, 0 }; SDLKey key; @@ -12245,13 +12245,13 @@ static int do_prompt_image_flash_snd(const char *const text, ooy = oy - w; nx = PROMPT_LEFT + r_ttools.w - w + PROMPTOFFSETX; - ny = 94 + r_ttools.w - w + PROMPTOFFSETY; + ny = 2 + canvas->h / 2 - w; dest.x = ((nx * w) + (oox * (r_ttools.w - w))) / r_ttools.w; dest.y = ((ny * w) + (ooy * (r_ttools.w - w))) / r_ttools.w; dest.w = (PROMPT_W - r_ttools.w * 2) + w * 2; dest.h = w * 2; - SDL_FillRect(screen, &dest, SDL_MapRGB(screen->format, 224 - w /gd_tools.cols, 224 - w / gd_tools.cols, 244 - w / gd_tools.cols)); + SDL_FillRect(screen, &dest, SDL_MapRGB(screen->format, 224 - (int)(w / button_scale), 224 - (int)(w / button_scale), 244 - (int)(w / button_scale))); SDL_UpdateRect(screen, dest.x, dest.y, dest.w, dest.h); @@ -12259,7 +12259,9 @@ static int do_prompt_image_flash_snd(const char *const text, SDL_Delay(1); if (w == r_ttools.w - 2) + { SDL_BlitSurface(backup, NULL, screen, NULL); + } } SDL_FreeSurface(backup); @@ -12283,10 +12285,10 @@ static int do_prompt_image_flash_snd(const char *const text, for (i = 8; i > 0; i = i - 2) { dest.x = PROMPT_LEFT + r_ttools.w - (w - 4) + i + PROMPTOFFSETX; - dest.y = 94 + r_ttools.w - (w - 4) + i + PROMPTOFFSETY; + dest.y = 94 / button_scale + r_ttools.w / button_scale - (w - 4) + i + PROMPTOFFSETY; dest.w = (PROMPT_W - r_ttools.w * 2) + (w - 4) * 2; dest.h = (w - 4) * 2; - + dest.y = canvas->h / 2 - dest.h / 2 + i + 2; SDL_BlitSurface(alpha_surf, NULL, screen, &dest); } @@ -12297,13 +12299,12 @@ static int do_prompt_image_flash_snd(const char *const text, w = w - 6; - dest.x = PROMPT_LEFT + r_ttools.w - w + PROMPTOFFSETX; - dest.y = 94 + r_ttools.w - w + PROMPTOFFSETY; - dest.w = (PROMPT_W - r_ttools.w * 2) + w * 2; - dest.h = w * 2; + dest_back.x = dest.x = PROMPT_LEFT + r_ttools.w - w + PROMPTOFFSETX; + dest_back.w = dest.w = (PROMPT_W - r_ttools.w * 2) + w * 2; + dest_back.h = dest.h = w * 2; + dest_back.y = dest.y = canvas->h / 2 - dest.h / 2 + 2; SDL_FillRect(screen, &dest, SDL_MapRGB(screen->format, 255, 255, 255)); - /* Make sure image on the right isn't too tall! (Thumbnails in Open dialog are larger on larger displays, and can cause arrow and trashcan icons to be pushed out of the dialog window!) */ @@ -12313,9 +12314,9 @@ static int do_prompt_image_flash_snd(const char *const text, if (img1 != NULL) { - if (img1->h > 64 && img2 != NULL /* Only scale if it matters */ ) + if (img1->h > 64 * button_scale && img2 != NULL /* Only scale if it matters */ ) { - img1b = thumbnail(img1, 80, 64, 1); + img1b = thumbnail(img1, 80 * button_scale, 64 * button_scale, 1); free_img1b = 1; } else @@ -12364,12 +12365,12 @@ static int do_prompt_image_flash_snd(const char *const text, txt_btn_right = btn_left; } - wordwrap_text(text, black, txt_left, 100 + PROMPTOFFSETY, txt_right, 1); + wordwrap_text(text, black, txt_left, dest.y + 2 , txt_right, 1); /* Draw the images (if any, and if not animated): */ - img_y = 100 + PROMPTOFFSETY + 4; + img_y = dest_back.y + 6; if (img1b != NULL) { @@ -12409,7 +12410,7 @@ static int do_prompt_image_flash_snd(const char *const text, /* Draw yes button: */ dest.x = btn_left; - dest.y = 178 + PROMPTOFFSETY; + dest.y = dest_back.y + dest_back.h - 4 - button_h - 4 - button_h; SDL_BlitSurface(img_yes, NULL, screen, &dest); @@ -12501,13 +12502,15 @@ static int do_prompt_image_flash_snd(const char *const text, { if (event.button.x >= btn_left && event.button.x < btn_left + img_yes->w) { - if (event.button.y >= 178 + PROMPTOFFSETY && event.button.y < 178 + PROMPTOFFSETY + img_yes->h) + if (event.button.y >= dest_back.y + dest_back.h - 4 - button_h - 4 - button_h && + event.button.y < dest_back.y + dest_back.h - 4 - button_h - 4 - button_h + img_yes->h) { ans = 1; done = 1; } else if (strlen(btn_no) != 0 && - event.button.y >= 178 + PROMPTOFFSETY + img_yes->h + 5 && event.button.y < 178 + PROMPTOFFSETY + img_yes->h + 5 + img_no->h) + event.button.y >= dest_back.y + dest_back.h - 4 - button_h && + event.button.y < dest_back.y + dest_back.h - 4 - button_h + img_no->h) { ans = 0; done = 1; @@ -12518,10 +12521,11 @@ static int do_prompt_image_flash_snd(const char *const text, { if (event.button.x >= btn_left && event.button.x < btn_left + img_yes->w && - ((event.button.y >= 178 + PROMPTOFFSETY && - event.button.y < 178 + img_yes->h + PROMPTOFFSETY) || + ((event.button.y >= dest_back.y + dest_back.h - 4 - button_h - 4 - button_h && + event.button.y < dest_back.y + dest_back.h - 4 - button_h - 4 - button_h + img_yes->h) || (strlen(btn_no) != 0 && - event.button.y >= 178 + PROMPTOFFSETY + img_yes->h + 5 && event.button.y < 178 + PROMPTOFFSETY + img_yes->h + 5 + img_no->h))) + event.button.y >= dest_back.y + dest_back.h - 4 - button_h && + event.button.y < dest_back.y + dest_back.h - 4 - button_h + img_no->h))) { do_setcursor(cursor_hand); } @@ -13358,6 +13362,7 @@ static int brush_rotation(int ctr_x, int ctr_y, int ox, int oy) /* Save the current image: */ static int do_save(int tool, int dont_show_success_results) { + int scroll; char *fname; char tmp[1024]; SDL_Surface *thm; @@ -13368,6 +13373,7 @@ static int do_save(int tool, int dont_show_success_results) if (disable_save) return 0; + scroll = (NUM_TOOLS > buttons_tall * gd_tools.cols) ? img_scroll_down->h : 0; tmp_apply_uncommited_text(); SDL_BlitSurface(canvas, NULL, save_canvas, NULL); @@ -13391,7 +13397,8 @@ static int do_save(int tool, int dont_show_success_results) PROMPT_SAVE_OVER_YES, PROMPT_SAVE_OVER_NO, img_save_over, NULL, NULL, SND_AREYOUSURE, - (TOOL_SAVE % 2) * 48 + 24, (TOOL_SAVE / 2) * 48 + 40 + 24) == 0) + (TOOL_SAVE % 2) * button_w + button_w / 2, + (TOOL_SAVE / 2) * button_h + r_ttools.h + button_h / 2 - tool_scroll * button_h / gd_tools.cols + scroll) == 0) { /* No - Let's save a new picture! */ @@ -14188,13 +14195,15 @@ static void get_new_file_id(void) /* Handle quitting (and prompting to save, if necessary!) */ static int do_quit(int tool) { - int done, tmp_tool; + int done, tmp_tool, scroll; if (!no_prompt_on_quit) { + scroll = (NUM_TOOLS > buttons_tall * gd_tools.cols) ? img_scroll_down->h : 0; done = do_prompt_snd(PROMPT_QUIT_TXT, PROMPT_QUIT_YES, PROMPT_QUIT_NO, SND_AREYOUSURE, - (TOOL_QUIT % 2) * 48 + 24, (TOOL_QUIT / 2) * 48 + 40 + 24); + (TOOL_QUIT % 2) * button_w + button_w / 2, + (TOOL_QUIT / 2) * button_h + r_ttools.h + button_h / 2 - tool_scroll * button_h / gd_tools.cols + scroll); } else { @@ -14598,7 +14607,9 @@ static int do_open(void) if (num_files == 0) { do_prompt_snd(PROMPT_OPEN_NOFILES_TXT, PROMPT_OPEN_NOFILES_YES, "", - SND_YOUCANNOT, (TOOL_OPEN % 2) * 48 + 24, (TOOL_OPEN / 2) * 48 + 40 + 24); + SND_YOUCANNOT, + (TOOL_OPEN % 2) * button_w + button_w / 2, + (TOOL_OPEN / 2) * button_h + r_ttools.h + button_h / 2 - tool_scroll * button_h / gd_tools.cols); } else { @@ -16802,9 +16813,10 @@ static void hsvtorgb(float h, float s, float v, Uint8 * r8, Uint8 * g8, Uint8 * */ static void print_image(void) { - int cur_time; + int cur_time, scroll; cur_time = SDL_GetTicks() / 1000; + scroll = (NUM_TOOLS > buttons_tall * gd_tools.cols) ? img_scroll_down->h : 0; #ifdef DEBUG printf("Current time = %d\n", cur_time); @@ -16823,7 +16835,8 @@ static void print_image(void) PROMPT_PRINT_NOW_YES, PROMPT_PRINT_NOW_NO, img_printer, NULL, NULL, SND_AREYOUSURE, - (TOOL_PRINT % 2) * 48 + 24, (TOOL_PRINT / 2) * 48 + 40 + 24)) + (TOOL_PRINT % 2) * button_w + button_w / 2, + (TOOL_PRINT / 2) * button_h + r_ttools.h + button_h / 2 - tool_scroll * button_h / gd_tools.cols + scroll)) { do_print(); @@ -20725,6 +20738,7 @@ static int do_color_picker(void) int val_x, val_y, motioner; int valhat_x, valhat_y, hatmotioner; SDL_Surface *tmp_btn_up, *tmp_btn_down; + int stop; Uint32(*getpixel_tmp_btn_up) (SDL_Surface *, int, int); Uint32(*getpixel_tmp_btn_down) (SDL_Surface *, int, int); @@ -20735,12 +20749,12 @@ static int do_color_picker(void) int done, chose; SDL_Event event; SDLKey key; - int color_picker_left, color_picker_top; + int color_picker_left, color_picker_top, color_picker_width, color_picker_height; int back_left, back_top; SDL_Rect color_example_dest; SDL_Surface *backup; SDL_Rect r_color_picker; - + SDL_Rect r_final; val_x = val_y = motioner = 0; valhat_x = valhat_y = hatmotioner = 0; hide_blinking_cursor(); @@ -20759,24 +20773,27 @@ static int do_color_picker(void) SDL_BlitSurface(screen, NULL, backup, NULL); - ox = screen->w; + ox = screen->w - color_button_w / 2; oy = r_colors.y + r_colors.h / 2; - for (w = 0; w <= 128 + 6 + 4; w = w + 4) + r_final.x = r_canvas.x + r_canvas.w / 2 - img_color_picker->w - 4; + r_final.y = r_canvas.h / 2 - img_color_picker->h / 2 - 2; + r_final.w = img_color_picker->w * 2; + r_final.h = img_color_picker->h; + + stop = r_final.h / 2 + 6 + 4; + + for (w = 0; w <= stop; w = w + 4) { - oox = ox - w; - ooy = oy - w; + nx = PROMPT_LEFT + r_tools.w - w + PROMPTOFFSETX; + ny = 2 + canvas->h / 2 - w; - nx = PROMPT_LEFT + 96 - w + PROMPTOFFSETX; - ny = 94 + 96 - w + PROMPTOFFSETY; - - dest.x = ((nx * w) + (oox * (128 - w))) / 128; - dest.y = ((ny * w) + (ooy * (128 - w))) / 128; - - dest.w = (PROMPT_W - 96 * 2) + w * 2; + dest.x = ox - ((ox -r_final.x) * w) / stop; + dest.y = oy - ((oy -r_final.y) * w) / stop; + dest.w = w * 4; dest.h = w * 2; - SDL_FillRect(screen, &dest, SDL_MapRGB(screen->format, 255 - w, 255 - w, 255 - w)); + SDL_FillRect(screen, &dest, SDL_MapRGB(screen->format, 255 - (int)(w / button_scale) , 255 -(int)( w / button_scale), 255 - (int)(w / button_scale))); SDL_UpdateRect(screen, dest.x, dest.y, dest.w, dest.h); if (w % 16 == 0) @@ -20787,8 +20804,8 @@ static int do_color_picker(void) #ifndef NO_PROMPT_SHADOWS alpha_surf = SDL_CreateRGBSurface(SDL_SWSURFACE | SDL_SRCALPHA, - (PROMPT_W - 96 * 2) + (w - 4) * 2, - (w - 4) * 2, + r_final.w + 8, + r_final.h + 16, screen->format->BitsPerPixel, screen->format->Rmask, screen->format->Gmask, screen->format->Bmask, screen->format->Amask); @@ -20800,10 +20817,10 @@ static int do_color_picker(void) for (i = 8; i > 0; i = i - 2) { - dest.x = PROMPT_LEFT + 96 - (w - 4) + i + PROMPTOFFSETX; - dest.y = 94 + 96 - (w - 4) + i + PROMPTOFFSETY; - dest.w = (PROMPT_W - 96 * 2) + (w - 4) * 2; - dest.h = (w - 4) * 2; + dest.x = r_final.x + i - 4; + dest.y = r_final.y + i - 4; + dest.w = r_final.w + 8; + dest.h = r_final.h + 16; SDL_BlitSurface(alpha_surf, NULL, screen, &dest); } @@ -20816,18 +20833,17 @@ static int do_color_picker(void) /* Draw prompt box: */ w = w - 6; - - dest.x = PROMPT_LEFT + 96 - w + PROMPTOFFSETX; - dest.y = 94 + 96 - w + PROMPTOFFSETY; - dest.w = (PROMPT_W - 96 * 2) + w * 2; + dest.x = r_final.x - 2; + dest.w = r_final.w + 4; dest.h = w * 2; + dest.y = r_final.y - 2; SDL_FillRect(screen, &dest, SDL_MapRGB(screen->format, 255, 255, 255)); /* Draw color palette: */ - color_picker_left = PROMPT_LEFT + 96 - w + PROMPTOFFSETX + 2; - color_picker_top = 94 + 96 - w + PROMPTOFFSETY + 2; + color_picker_left = r_final.x; + color_picker_top = r_final.y; dest.x = color_picker_left; dest.y = color_picker_top; @@ -20875,8 +20891,8 @@ static int do_color_picker(void) color_example_dest.x = color_picker_left + img_color_picker->w + 2; color_example_dest.y = color_picker_top + 2; - color_example_dest.w = (PROMPT_W - 96 * 2) + w * 2 - img_color_picker->w - 6; - color_example_dest.h = 124; + color_example_dest.w = r_final.w / 2 - 2; + color_example_dest.h = r_final.h / 2 - 4; SDL_FillRect(screen, &color_example_dest, SDL_MapRGB(screen->format, 0, 0, 0)); @@ -24441,10 +24457,10 @@ static void setup(void) img_btnsm_hold = loadimagerb(DATA_PREFIX "images/ui/btnsm_hold.png"); img_btn_nav = loadimagerb(DATA_PREFIX "images/ui/btn_nav.png"); - img_btnsm_nav = loadimage(DATA_PREFIX "images/ui/btnsm_nav.png"); + img_btnsm_nav = loadimagerb(DATA_PREFIX "images/ui/btnsm_nav.png"); - img_sfx = loadimage(DATA_PREFIX "images/tools/sfx.png"); - img_speak = loadimage(DATA_PREFIX "images/tools/speak.png"); + img_sfx = loadimagerb(DATA_PREFIX "images/tools/sfx.png"); + img_speak = loadimagerb(DATA_PREFIX "images/tools/speak.png"); img_black = SDL_CreateRGBSurface(SDL_SRCALPHA | SDL_SWSURFACE, img_btn_off->w, img_btn_off->h, @@ -24477,34 +24493,34 @@ static void setup(void) img_back = loadimagerb(DATA_PREFIX "images/ui/back.png"); img_trash = loadimagerb(DATA_PREFIX "images/ui/trash.png"); - img_slideshow = loadimage(DATA_PREFIX "images/ui/slideshow.png"); - img_play = loadimage(DATA_PREFIX "images/ui/play.png"); - img_gif_export = loadimage(DATA_PREFIX "images/ui/gif_export.png"); - img_select_digits = loadimage(DATA_PREFIX "images/ui/select_digits.png"); + img_slideshow = loadimagerb(DATA_PREFIX "images/ui/slideshow.png"); + img_play = loadimagerb(DATA_PREFIX "images/ui/play.png"); + img_gif_export = loadimagerb(DATA_PREFIX "images/ui/gif_export.png"); + img_select_digits = loadimagerb(DATA_PREFIX "images/ui/select_digits.png"); - img_popup_arrow = loadimage(DATA_PREFIX "images/ui/popup_arrow.png"); + img_popup_arrow = loadimagerb(DATA_PREFIX "images/ui/popup_arrow.png"); - img_dead40x40 = loadimage(DATA_PREFIX "images/ui/dead40x40.png"); + img_dead40x40 = loadimagerb(DATA_PREFIX "images/ui/dead40x40.png"); - img_printer = loadimage(DATA_PREFIX "images/ui/printer.png"); - img_printer_wait = loadimage(DATA_PREFIX "images/ui/printer_wait.png"); + img_printer = loadimagerb(DATA_PREFIX "images/ui/printer.png"); + img_printer_wait = loadimagerb(DATA_PREFIX "images/ui/printer_wait.png"); - img_save_over = loadimage(DATA_PREFIX "images/ui/save_over.png"); + img_save_over = loadimagerb(DATA_PREFIX "images/ui/save_over.png"); - img_grow = loadimage(DATA_PREFIX "images/ui/grow.png"); - img_shrink = loadimage(DATA_PREFIX "images/ui/shrink.png"); + img_grow = loadimagerb(DATA_PREFIX "images/ui/grow.png"); + img_shrink = loadimagerb(DATA_PREFIX "images/ui/shrink.png"); - img_magic_paint = loadimage(DATA_PREFIX "images/ui/magic_paint.png"); - img_magic_fullscreen = loadimage(DATA_PREFIX "images/ui/magic_fullscreen.png"); + img_magic_paint = loadimagerb(DATA_PREFIX "images/ui/magic_paint.png"); + img_magic_fullscreen = loadimagerb(DATA_PREFIX "images/ui/magic_fullscreen.png"); - img_shapes_center = loadimage(DATA_PREFIX "images/ui/shapes_center.png"); - img_shapes_corner = loadimage(DATA_PREFIX "images/ui/shapes_corner.png"); + img_shapes_center = loadimagerb(DATA_PREFIX "images/ui/shapes_center.png"); + img_shapes_corner = loadimagerb(DATA_PREFIX "images/ui/shapes_corner.png"); - img_bold = loadimage(DATA_PREFIX "images/ui/bold.png"); - img_italic = loadimage(DATA_PREFIX "images/ui/italic.png"); + img_bold = loadimagerb(DATA_PREFIX "images/ui/bold.png"); + img_italic = loadimagerb(DATA_PREFIX "images/ui/italic.png"); - img_label = loadimage(DATA_PREFIX "images/tools/label.png"); - img_label_select = loadimage(DATA_PREFIX "images/tools/label_select.png"); + img_label = loadimagerb(DATA_PREFIX "images/tools/label.png"); + img_label_select = loadimagerb(DATA_PREFIX "images/tools/label_select.png"); show_progress_bar(screen); @@ -24568,7 +24584,7 @@ static void setup(void) /* Load system fonts: */ large_font = TuxPaint_Font_OpenFont(PANGO_DEFAULT_FONT, - DATA_PREFIX "fonts/default_font.ttf", 30 - (only_uppercase * 3)); + DATA_PREFIX "fonts/default_font.ttf", 30 * button_scale - (only_uppercase * 3)); if (large_font == NULL) { @@ -24584,9 +24600,9 @@ static void setup(void) small_font = TuxPaint_Font_OpenFont(PANGO_DEFAULT_FONT, DATA_PREFIX "fonts/default_font.ttf", #ifdef __APPLE__ - 12 - (only_uppercase * 2) + 12 * button_scale - (only_uppercase * 2) #else - 13 - (only_uppercase * 2) + 13 * button_scale - (only_uppercase * 2) #endif ); @@ -24630,7 +24646,6 @@ static void setup(void) { SDL_Surface *aux_surf = loadimage(shape_img_fnames[i]); img_shapes[i] = thumbnail2(aux_surf, (aux_surf->w * button_w) / ORIGINAL_BUTTON_SIZE, (aux_surf->h * button_h) / ORIGINAL_BUTTON_SIZE, 0, 1); - printf("fname %d x %d -> %d -> %d\n", aux_surf->w, aux_surf->h, img_shapes[i]->w, img_shapes[i]->h); SDL_FreeSurface(aux_surf); } @@ -24638,16 +24653,16 @@ static void setup(void) /* Load tip tux images: */ for (i = 0; i < NUM_TIP_TUX; i++) - img_tux[i] = loadimage(tux_img_fnames[i]); + img_tux[i] = loadimagerb(tux_img_fnames[i]); show_progress_bar(screen); - img_mouse = loadimage(DATA_PREFIX "images/ui/mouse.png"); - img_mouse_click = loadimage(DATA_PREFIX "images/ui/mouse_click.png"); + img_mouse = loadimagerb(DATA_PREFIX "images/ui/mouse.png"); + img_mouse_click = loadimagerb(DATA_PREFIX "images/ui/mouse_click.png"); show_progress_bar(screen); - img_color_picker = loadimage(DATA_PREFIX "images/ui/color_picker.png"); + img_color_picker = loadimagerb(DATA_PREFIX "images/ui/color_picker.png"); /* Create toolbox and selector labels: */ From 9b974311cf362276e792a36be5f75035da86cc6c Mon Sep 17 00:00:00 2001 From: jimmy Date: Tue, 8 Dec 2020 10:52:22 +0100 Subject: [PATCH 06/10] =?UTF-8?q?jacques.chion@orange.fr=20=09modifi=C3=A9?= =?UTF-8?q?=C2=A0:=20=20=20=20=20=20=20=20=20fr.po?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/po/fr.po | 59 +++++++++++++++++++++------------------------------- 1 file changed, 24 insertions(+), 35 deletions(-) diff --git a/src/po/fr.po b/src/po/fr.po index 1e0183d37..d50389953 100644 --- a/src/po/fr.po +++ b/src/po/fr.po @@ -8,14 +8,14 @@ msgstr "" "Project-Id-Version: fr\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2020-08-15 16:42-0700\n" -"PO-Revision-Date: 2017-12-03 07:56+0100\n" +"PO-Revision-Date: 2020-12-08 10:39+0100\n" "Last-Translator: Chion Jacques \n" "Language-Team: \n" "Language: fr\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Generator: Poedit 2.0.4\n" +"X-Generator: Poedit 2.4.1\n" #. Response to Black (0, 0, 0) color selected #: ../colors.h:86 @@ -323,23 +323,23 @@ msgstr "Un octogone a huit côtés égaux." #: ../shapes.h:320 ../shapes.h:321 msgid "A star with 3 points." -msgstr "Étoile à 3 branches" +msgstr "Étoile à 3 branches." #: ../shapes.h:322 ../shapes.h:323 msgid "A star with 4 points." -msgstr "Étoile à 4 branches" +msgstr "Étoile à 4 branches." #: ../shapes.h:324 ../shapes.h:325 msgid "A star with 5 points." -msgstr "Étoile à 5 branches" +msgstr "Étoile à 5 branches." #: ../shapes.h:372 msgid "Draw shapes from the center." -msgstr "" +msgstr "Dessine des objets depuis le centre." #: ../shapes.h:373 msgid "Draw shapes from a corner." -msgstr "" +msgstr "Dessine des objets depuis un coin." #. Title of tool selector (buttons down the left) #: ../titles.h:56 @@ -472,16 +472,13 @@ msgstr "" "Clique pour commencer à dessiner une ligne. Puis continue pour la compléter." #: ../tools.h:125 -#, fuzzy -#| msgid "" -#| "Pick a shape. Click to pick the center, drag, then let go when it is the " -#| "size you want. Move around to rotate it, and click to draw it." msgid "" "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." msgstr "" -"Choisis une forme. Clique en son centre, choisis sa place et sa taille tout " -"en appuyant, fais-la tourner, et clique enfin pour la dessiner." +"Choisis une forme. Clique pour démarrer le dessin, fais glisser, et continue " +"jusqu'à la taille désirée. Déplace-toi pour la faire tourner, et clique pour " +"dessiner." #: ../tools.h:129 msgid "" @@ -537,7 +534,7 @@ msgstr "" #. Response to 'open' action (while file dialog is being constructed) #: ../tools.h:154 msgid "Open…" -msgstr "Ouvrir.." +msgstr "Ouvrir ..." #. Response to 'save' action #: ../tools.h:157 @@ -547,7 +544,7 @@ msgstr "Ton image a été sauvegardée !" #. Response to 'print' action (while printing, or print dialog is being used) #: ../tools.h:160 msgid "Printing…" -msgstr "Impression.." +msgstr "Impression ..." #. Response to 'quit' (exit) action #: ../tools.h:163 @@ -667,34 +664,26 @@ msgstr "N'oublie pas d'utiliser le bouton gauche de la souris !" #. Confirmation of successful (we hope) image export #: ../tuxpaint.c:2190 -#, fuzzy -#| msgid "Your picture has been printed!" msgid "Your picture has been exported!" -msgstr "Ton image a été imprimée !" +msgstr "Ton image a été exportée !" #: ../tuxpaint.c:2191 -#, fuzzy -#| msgid "Your picture has been printed!" msgid "Your slideshow GIF has been exported!" -msgstr "Ton image a été imprimée !" +msgstr "Ton image GIF a été exportée !" #. We got an error exporting #: ../tuxpaint.c:2195 -#, fuzzy -#| msgid "Sorry! Your picture could not be printed!" msgid "Sorry! Your picture could not be exported!" -msgstr "Désolé, ton image n'a pas pu être imprimée !" +msgstr "Désolé, ton image n'a pas pu être exportée !" #: ../tuxpaint.c:2196 -#, fuzzy -#| msgid "Sorry! Your picture could not be printed!" msgid "Sorry! Your slideshow GIF could not be exported!" -msgstr "Désolé, ton image n'a pas pu être imprimée !" +msgstr "Désolé, ton image GIF n'a pas pu être exportée !" #. Slideshow instructions #: ../tuxpaint.c:2200 msgid "Choose the pictures you want, then click “Play”." -msgstr "Choisis les images que tu veux, puis clique sur “Départ”" +msgstr "Choisis les images que tu veux, puis clique sur “Départ”." #. Sound has been muted (silenced) via keyboard shortcut #: ../tuxpaint.c:2407 @@ -709,7 +698,7 @@ msgstr "Son activé." #. Wait while Text tool finishes loading fonts #: ../tuxpaint.c:3167 msgid "Please wait…" -msgstr "Attends s'il te plaît .." +msgstr "Attends s'il te plaît ..." #. Open dialog: 'Erase' button, to erase/deleted the selected picture #: ../tuxpaint.c:7923 @@ -724,7 +713,7 @@ msgstr "Diapos" #. Open dialog: 'Export' button, to copy an image to an easily-accessible location #: ../tuxpaint.c:7929 msgid "Export" -msgstr "" +msgstr "Exporter" #. Open dialog: 'Back' button, to dismiss Open dialog without opening a picture #: ../tuxpaint.c:7932 @@ -739,7 +728,7 @@ msgstr "Départ" #. Slideshow: 'GIF Export' button, to create an animated GIF #: ../tuxpaint.c:7938 msgid "GIF Export" -msgstr "" +msgstr "Exporter en GIF" #. Slideshow: 'Next' button, to load next slide (image) #: ../tuxpaint.c:7941 @@ -782,14 +771,14 @@ msgstr "Non, c'est une nouvelle image !" #. Instructions for 'Open' file dialog #: ../tuxpaint.c:14454 msgid "Choose the picture you want, then click “Open”." -msgstr "Choisis une image, et clique ensuite sur “Ouvrir”" +msgstr "Choisis une image, et clique ensuite sur “Ouvrir”." #. None selected? Too dangerous to automatically select all (like we do for slideshow playback). #. Only 1 selected? No point in saving as GIF. #. #: ../tuxpaint.c:15880 msgid "Select 2 or more drawings to turn into an animated GIF." -msgstr "" +msgstr "Sélectionner 2 ou plusieurs dessins pour créer une image animée GIF." #: ../tuxpaint.c:23539 msgid "Select a color from your drawing." @@ -1259,7 +1248,7 @@ msgstr "" #: ../../magic/src/puzzle.c:103 msgid "Puzzle" -msgstr "Puzzle " +msgstr "Puzzle" #: ../../magic/src/puzzle.c:110 msgid "Click the part of your picture where would you like a puzzle." @@ -1573,7 +1562,7 @@ msgstr "Clique et promène la souris pour dessiner un effet Xor" # #: ../../magic/src/xor.c:101 msgid "Click to draw a XOR effect on the whole picture" -msgstr "Clique pour avoir un effet Xor sur l'ensemble de l'image." +msgstr "Clique pour avoir un effet Xor sur l'ensemble de l'image" #~ msgid "Black & White" #~ msgstr "Gris" From 387f1ed06d485e76fdf17b94f596f9d5a0455e65 Mon Sep 17 00:00:00 2001 From: Bill Kendrick Date: Tue, 8 Dec 2020 09:45:06 -0800 Subject: [PATCH 07/10] Doc'ing French update --- docs/CHANGES.txt | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/docs/CHANGES.txt b/docs/CHANGES.txt index ff83bbc76..d6150353b 100644 --- a/docs/CHANGES.txt +++ b/docs/CHANGES.txt @@ -8,7 +8,7 @@ http://www.tuxpaint.org/ $Id$ -2020.November.21 (0.9.25) +2020.December.8 (0.9.25) * New Features ------------ * Export drawings: @@ -134,6 +134,9 @@ $Id$ * Catalan translation Pere Pujal i Carabantes + * French translation + Chion Jacques + * Galician translation Miguel Bouzada From c7ed85cd8863b0621d7f09b7d73d5ef171e4a860 Mon Sep 17 00:00:00 2001 From: Mark Kim Date: Thu, 10 Dec 2020 16:47:05 -0500 Subject: [PATCH 08/10] Change "echo -n" to "printf" in Makefile The `echo` command built into the default macOS shell doesn't understand -n. This commit changes it to use "printf" instead which should be fairly portable across other OS's. Feel free to change it back if it breaks anything. --- Makefile | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Makefile b/Makefile index 706f4b3c0..455080f9e 100644 --- a/Makefile +++ b/Makefile @@ -715,7 +715,7 @@ STARTER_BACK_NAME=$(or $(wildcard $(subst starters/.thumbs,starters,$(@:-t.png=- # FIXME: Need to be able to update a thumbnail if the source image is modified -bjk 2019.09.14 $(THUMB_STARTERS): - @echo -n "." + @printf "." @mkdir -p starters/.thumbs @if [ "x" != "x"$(STARTER_BACK_NAME) ] ; \ then \ @@ -776,7 +776,7 @@ TEMPLATE_NAME=$(or $(wildcard $(subst templates/.thumbs,templates,$(@:-t.png=.sv # FIXME: Need to be able to update a thumbnail if the source image is modified -bjk 2019.09.14 $(THUMB_TEMPLATES): - @echo -n "." + @printf "." @mkdir -p templates/.thumbs @convert $(CONVERT_OPTS) $(TEMPLATE_NAME) $@ 2> /dev/null || ( echo "($@ failed)" ; rm $@ ) ; \ From 60e064b34fae10353439dcd2f8414319b8346bd6 Mon Sep 17 00:00:00 2001 From: Mark Kim Date: Thu, 10 Dec 2020 17:40:34 -0500 Subject: [PATCH 09/10] Change osx_ prefix to macos_ in Makefile Apple has changed the name of their OS from OS X to macOS a loooong time ago. It's about time to update it in the Makefile. --- Makefile | 26 +++++++++++++------------- 1 file changed, 13 insertions(+), 13 deletions(-) diff --git a/Makefile b/Makefile index 455080f9e..484f0d3e2 100644 --- a/Makefile +++ b/Makefile @@ -36,7 +36,7 @@ else MINGW_DIR:=/mingw64 else ifeq ($(SYSNAME),Darwin) - OS:=osx + OS:=macos GPERF:=/usr/bin/gperf else ifeq ($(SYSNAME),BeOS) @@ -84,7 +84,7 @@ beos_MIMESET_CMD:=mimeset -f tuxpaint MIMESET_CMD:=$($(OS)_MIMESET_CMD) windows_SO_TYPE:=dll -osx_SO_TYPE:=dylib +macos_SO_TYPE:=dylib beos_SO_TYPE:=so linux_SO_TYPE:=so SO_TYPE:=$($(OS)_SO_TYPE) @@ -96,25 +96,25 @@ windows_EXE_EXT:=.exe EXE_EXT:=$($(OS)_EXE_EXT) windows_BUNDLE:= -osx_BUNDLE=./TuxPaint.app +macos_BUNDLE=./TuxPaint.app beos_BUNDLE:= linux_BUNDLE:= BUNDLE:=$($(OS)_BUNDLE) windows_ARCH_LIBS:=obj/win32_print.o obj/resource.o -osx_ARCH_LIBS:=src/macos_print.m obj/macos.o +macos_ARCH_LIBS:=src/macos_print.m obj/macos.o beos_ARCH_LIBS:=obj/BeOS_print.o linux_ARCH_LIBS:=obj/postscript_print.o ARCH_LIBS:=$($(OS)_ARCH_LIBS) windows_ARCH_CFLAGS:= -osx_ARCH_CFLAGS:=-mmacosx-version-min=10.8 -isystem /opt/local/include -DHAVE_STRCASESTR -w -headerpad_max_install_names +macos_ARCH_CFLAGS:=-mmacosx-version-min=10.8 -isystem /opt/local/include -DHAVE_STRCASESTR -w -headerpad_max_install_names beos_ARCH_CFLAGS:= linux_ARCH_CFLAGS:= ARCH_CFLAGS:=$($(OS)_ARCH_CFLAGS) windows_ARCH_LDFLAGS:= -osx_ARCH_LDFLAGS:=-L/opt/local/lib +macos_ARCH_LDFLAGS:=-L/opt/local/lib beos_ARCH_LDFLAGS:= linux_ARCH_LDFLAGS:= ARCH_LDFLAGS:=$($(OS)_ARCH_LDFLAGS) @@ -128,13 +128,13 @@ FRIBIDI_LIB:=$(shell $(PKG_CONFIG) --libs fribidi) FRIBIDI_CFLAGS:=$(shell $(PKG_CONFIG) --cflags fribidi) windows_ARCH_LINKS:=-lgdi32 -lcomdlg32 $(PNG) -lz -lwinspool -lshlwapi $(FRIBIDI_LIB) -liconv -limagequant -osx_ARCH_LINKS:=$(FRIBIDI_LIB) -limagequant +macos_ARCH_LINKS:=$(FRIBIDI_LIB) -limagequant beos_ARCH_LINKS:=-lintl $(PNG) -lz -lbe -lnetwork -liconv $(FRIBIDI_LIB) $(PAPER_LIB) $(STDC_LIB) -limagequant linux_ARCH_LINKS:=$(PAPER_LIB) $(FRIBIDI_LIB) -limagequant ARCH_LINKS:=$($(OS)_ARCH_LINKS) windows_ARCH_HEADERS:=src/win32_print.h -osx_ARCH_HEADERS:=src/macos.h +macos_ARCH_HEADERS:=src/macos.h beos_ARCH_HEADERS:=src/BeOS_print.h linux_ARCH_HEADERS:= ARCH_HEADERS:=$($(OS)_ARCH_HEADERS) @@ -142,7 +142,7 @@ ARCH_HEADERS:=$($(OS)_ARCH_HEADERS) # Where things will go when ultimately installed: # For macOS, the prefix is relative to DESTDIR. windows_PREFIX:=/usr/local -osx_PREFIX:=Resources +macos_PREFIX:=Resources linux_PREFIX:=/usr/local PREFIX:=$($(OS)_PREFIX) @@ -150,7 +150,7 @@ PREFIX:=$($(OS)_PREFIX) # PKG_ROOT is the old name for this, and should be undefined. # macOS is set up as a bundle, with all files under 'Contents'. # "TuxPaint-1" is the OLPC XO name. Installing to ./ is bad! -ifeq ($(OS),osx) +ifeq ($(OS),macos) DESTDIR:=$(BUNDLE)/Contents/ else ifeq ($(PREFIX),./) DESTDIR:=TuxPaint-1 @@ -474,7 +474,7 @@ trans: ###### windows_ARCH_INSTALL:= -osx_ARCH_INSTALL:=install-macbundle TuxPaint.dmg +macos_ARCH_INSTALL:=install-macbundle TuxPaint.dmg linux_ARCH_INSTALL:=install-xdg ARCH_INSTALL:=$($(OS)_ARCH_INSTALL) @@ -495,7 +495,7 @@ install: install-bin install-data install-man install-doc \ @echo @echo "--------------------------------------------------------------" @echo - @if [ "x$(OS)" = "xosx" ]; then \ + @if [ "x$(OS)" = "xmacos" ]; then \ echo "All done! Now you can double click $(BUNDLE) to run the"; \ echo "program!!! TuxPaint.dmg has also been created for"; \ echo "distribution."; \ @@ -1255,7 +1255,7 @@ MAGIC_SDL_LIBS:=-L/usr/local/lib $(LIBMINGW) $(shell $(PKG_CONFIG) $(SDL_PCNAME) MAGIC_ARCH_LINKS:=-lintl $(PNG) windows_PLUGIN_LIBS:=$(MAGIC_SDL_LIBS) $(MAGIC_ARCH_LINKS) -osx_PLUGIN_LIBS:=$(MAGIC_SDL_LIBS) $(MAGIC_ARCH_LINKS) +macos_PLUGIN_LIBS:=$(MAGIC_SDL_LIBS) $(MAGIC_ARCH_LINKS) beos_PLUGIN_LIBS:="$(MAGIC_SDL_LIBS) $(MAGIC_ARCH_LINKS) $(MAGIC_SDL_CPPFLAGS)" linux_PLUGIN_LIBS:= PLUGIN_LIBS:=$($(OS)_PLUGIN_LIBS) From 49d76283709ed74169e90083a817df196f22b9e9 Mon Sep 17 00:00:00 2001 From: Pere Pujal i Carabantes Date: Fri, 11 Dec 2020 19:07:23 +0100 Subject: [PATCH 10/10] Icelandic update by Sveinn. --- src/po/is.po | 3290 +++++++++++++++++++++++++------------------------- 1 file changed, 1646 insertions(+), 1644 deletions(-) diff --git a/src/po/is.po b/src/po/is.po index 0a9a50a5b..086d5663b 100644 --- a/src/po/is.po +++ b/src/po/is.po @@ -1,1644 +1,1646 @@ -# Tux Paint Translation to Icelandic. -# Íslensk þýðing á TuxPaint -# Copyright (C) 2002-2017. -# This file is distributed under the same license as the tuxpaint package. -# -# Pjetur G. Hjaltason , 2002, 2003, 2004, 2014. -# Sveinn í Felli , 2015, 2017, 2020. -msgid "" -msgstr "" -"Project-Id-Version: tuxpaint\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-08-15 16:42-0700\n" -"PO-Revision-Date: 2020-08-16 09:37+0000\n" -"Last-Translator: Sveinn í Felli \n" -"Language-Team: Icelandic \n" -"Language: is\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"X-Generator: Lokalize 2.0\n" -"Plural-Forms: nplurals=2; plural=n != 1;\n" - -#. Response to Black (0, 0, 0) color selected -#: ../colors.h:86 -msgid "Black!" -msgstr "Svart!" - -#. Response to Dark grey (128, 128, 128) color selected -#: ../colors.h:89 -msgid "Dark grey! Some people spell it “dark gray”." -msgstr "Dökkgrátt!" - -#. Response to Light grey (192, 192, 192) color selected -#: ../colors.h:92 -msgid "Light grey! Some people spell it “light gray”." -msgstr "Ljósgrátt!" - -#. Response to White (255, 255, 255) color selected -#: ../colors.h:95 -msgid "White!" -msgstr "Hvítt!" - -#. Response to Red (255, 0, 0) color selected -#: ../colors.h:98 -msgid "Red!" -msgstr "Rautt!" - -#. Response to Orange (255, 128, 0) color selected -#: ../colors.h:101 -msgid "Orange!" -msgstr "Appelsínugult!" - -#. Response to Yellow (255, 255, 0) color selected -#: ../colors.h:104 -msgid "Yellow!" -msgstr "Gult!" - -#. Response to Light green (160, 228, 128) color selected -#: ../colors.h:107 -msgid "Light green!" -msgstr "Ljósgrænt!" - -#. Response to Dark green (33, 148, 70) color selected -#: ../colors.h:110 -msgid "Dark green!" -msgstr "Dökkgrænt!" - -#. Response to "Sky" blue (138, 168, 205) color selected -#: ../colors.h:113 -msgid "Sky blue!" -msgstr "Himinblátt" - -#. Response to Blue (50, 100, 255) color selected -#: ../colors.h:116 -msgid "Blue!" -msgstr "Blátt!" - -#. Response to Lavender (186, 157, 255) color selected -#: ../colors.h:119 -msgid "Lavender!" -msgstr "Lillablátt!" - -#. Response to Purple (128, 0, 128) color selected -#: ../colors.h:122 -msgid "Purple!" -msgstr "Fjólublátt!" - -#. Response to Pink (255, 165, 211) color selected -#: ../colors.h:125 -msgid "Pink!" -msgstr "Bleikt!" - -#. Response to Brown (128, 80, 0) color selected -#: ../colors.h:128 -msgid "Brown!" -msgstr "Brúnt!" - -#. Response to Tan (226, 189, 166) color selected -#: ../colors.h:131 -msgid "Tan!" -msgstr "Ljósbrúnt!" - -#. Response to Beige (247, 228, 219) color selected -#: ../colors.h:134 -msgid "Beige!" -msgstr "Fölbrúnt!" - -#. First, the blacklist. We list font families that can crash Tux Paint -#. via bugs in the SDL_ttf library. We also test fonts to be sure that -#. they have both uppercase and lowercase letters. Note that we do not -#. test for "Aa", because it is OK if uppercase and lowercase are the -#. same (but not nice -- such fonts get a low score later). -#. -#. Most locales leave the blacklist strings alone: "QX" and "qx" -#. (it is less destructive to use the scoring strings instead) -#. -#. Locales that absolutely require all fonts to have some -#. extra characters should use "QX..." and "qx...", where "..." -#. are some characters you absolutely require in all fonts. -#. -#. Locales with absolutely NO use for ASCII may use "..." and "...", -#. where "..." are some characters you absolutely require in -#. all fonts. This would be the case for a locale in which it is -#. impossible for a user to type ASCII letters. -#. -#. Most translators should use scoring instead. -#: ../dirwalk.c:177 -msgid "qx" -msgstr "qx" - -#: ../dirwalk.c:177 -msgid "QX" -msgstr "QX" - -#. TODO: weight specification -#. Now we score fonts to ensure that the best ones will be placed at -#. the top of the list. The user will see them first. This sorting is -#. especially important for users who have scroll buttons disabled. -#. Translators should do whatever is needed to put crummy fonts last. -#. distinct uppercase and lowercase (e.g., 'o' vs. 'O') -#: ../dirwalk.c:202 -msgid "oO" -msgstr "oO" - -#. common punctuation (e.g., '?', '!', '.', ',', etc.) -#: ../dirwalk.c:205 -msgid ",.?!" -msgstr ",.?!" - -#. uncommon punctuation (e.g., '@', '#', '*', etc.) -#: ../dirwalk.c:208 -msgid "`%_@$~#{<(^&*" -msgstr "€`%_@$~#{<(^&*" - -#. digits (e.g., '0', '1' and '7') -#: ../dirwalk.c:211 -msgid "017" -msgstr "017" - -#. distinct circle-like characters (e.g., 'O' (capital oh) vs. '0' (zero)) -#: ../dirwalk.c:214 -msgid "O0" -msgstr "O0" - -#. distinct line-like characters (e.g., 'l' (lowercase elle) vs. '1' (one) vs. 'I' (capital aye)) -#: ../dirwalk.c:217 -msgid "1Il|" -msgstr "1Il|" - -#: ../dirwalk.c:221 -msgid "<1>spare-1a" -msgstr "aa" - -#: ../dirwalk.c:222 -msgid "<1>spare-1b" -msgstr "AA" - -#: ../dirwalk.c:223 -msgid "<9>spare-9a" -msgstr "ðéíóúþæö" - -#: ../dirwalk.c:224 -msgid "<9>spare-9b" -msgstr "ÐÉÍÓÚÞÆÖ" - -#. Congratulations #1 -#: ../great.h:37 -msgid "Great!" -msgstr "Frábært!" - -#. Congratulations #2 -#: ../great.h:40 -msgid "Cool!" -msgstr "Flott!" - -#. Congratulations #3 -#: ../great.h:43 -msgid "Keep it up!" -msgstr "Haltu þessu áfram!" - -#. Congratulations #4 -#: ../great.h:46 -msgid "Good job!" -msgstr "Vel gert!" - -#. Input Method: English mode -#: ../im.c:74 -msgid "English" -msgstr "Enska" - -#. Input Method: Japanese Romanized Hiragana mode -#: ../im.c:77 -msgid "Hiragana" -msgstr "Hiragana" - -#. Input Method: Japanese Romanized Katakana mode -#: ../im.c:80 -msgid "Katakana" -msgstr "Katakana" - -#. Input Method: Korean Hangul 2-Bul mode -#: ../im.c:83 -msgid "Hangul" -msgstr "Hangul" - -#. Input Method: Thai mode -#: ../im.c:86 -msgid "Thai" -msgstr "Tælenska" - -#. Input Method: Traditional Chinese mode -#: ../im.c:89 -msgid "ZH_TW" -msgstr "ZH_TW kínverska" - -#. Square shape tool (4 equally-lengthed sides at right angles) -#: ../shapes.h:234 ../shapes.h:235 -msgid "Square" -msgstr "Ferningur" - -#. Rectangle shape tool (4 sides at right angles) -#: ../shapes.h:238 ../shapes.h:239 -msgid "Rectangle" -msgstr "Rétthyrningur" - -#. Circle shape tool (X radius and Y radius are the same) -#: ../shapes.h:242 ../shapes.h:243 -msgid "Circle" -msgstr "Hringur" - -#. Ellipse shape tool (X radius and Y radius may differ) -#: ../shapes.h:246 ../shapes.h:247 -msgid "Ellipse" -msgstr "Sporbaugur" - -#. Triangle shape tool (3 sides) -#: ../shapes.h:250 ../shapes.h:251 -msgid "Triangle" -msgstr "Þríhyrningur" - -#. Pentagone shape tool (5 sides) -#: ../shapes.h:254 ../shapes.h:255 -msgid "Pentagon" -msgstr "Fimmhyrningur" - -#. Rhombus shape tool (4 sides, not at right angles) -#: ../shapes.h:258 ../shapes.h:259 -msgid "Rhombus" -msgstr "Tígull" - -#. Octagon shape tool (8 sides) -#: ../shapes.h:262 ../shapes.h:263 -msgid "Octagon" -msgstr "Átthyrningur" - -#. Triangle star (3 points star) -#. Rhombus star (4 points star) -#. Pentagone star (5 points star) -#: ../shapes.h:266 ../shapes.h:269 ../shapes.h:272 ../shapes.h:275 -#: ../shapes.h:278 ../shapes.h:281 -msgid "Star" -msgstr "Stjarna" - -#. Description of a square -#: ../shapes.h:289 ../shapes.h:290 -msgid "A square is a rectangle with four equal sides." -msgstr "Rétthyrningur hefur fjórar jafnlangar hliðar." - -#. Description of a rectangle -#: ../shapes.h:293 ../shapes.h:294 -msgid "A rectangle has four sides and four right angles." -msgstr "Rétthyrningur hefur fjórar hliðar og öll horn hornrétt." - -#. Description of a circle -#: ../shapes.h:297 ../shapes.h:298 -msgid "" -"A circle is a curve where all points have the same distance from the center." -msgstr "Hringur er ferill þar sem allir punktar eru í sömu fjarlægð frá miðju." - -#. Description of an ellipse -#: ../shapes.h:301 ../shapes.h:302 -msgid "An ellipse is a stretched circle." -msgstr "Sporbaugur er teygður hringur" - -#. Description of a triangle -#: ../shapes.h:305 ../shapes.h:306 -msgid "A triangle has three sides." -msgstr "Þríhyrningur hefur þrjár hliðar." - -#. Description of a pentagon -#: ../shapes.h:309 ../shapes.h:310 -msgid "A pentagon has five sides." -msgstr "Fimmhyrningur hefur fimm hliðar." - -#. Description of a rhombus -#: ../shapes.h:313 ../shapes.h:314 -msgid "A rhombus has four equal sides, and opposite sides are parallel." -msgstr "" -"Tígull hefur fjórar jafnlangar hliðar, og andstæðar hliðar eru samsíða." - -#. Description of an octagon -#: ../shapes.h:317 ../shapes.h:318 -msgid "An octagon has eight equal sides." -msgstr "Átthyrningur hefur átta hliðar." - -#: ../shapes.h:320 ../shapes.h:321 -msgid "A star with 3 points." -msgstr "Stjarna með 3 arma." - -#: ../shapes.h:322 ../shapes.h:323 -msgid "A star with 4 points." -msgstr "Stjarna með 4 arma." - -#: ../shapes.h:324 ../shapes.h:325 -msgid "A star with 5 points." -msgstr "Stjarna með 5 arma." - -#: ../shapes.h:372 -msgid "Draw shapes from the center." -msgstr "Teikna form frá miðju." - -#: ../shapes.h:373 -msgid "Draw shapes from a corner." -msgstr "Teikna form frá horni." - -#. Title of tool selector (buttons down the left) -#: ../titles.h:56 -msgid "Tools" -msgstr "Áhöld" - -#. Title of color palette (buttons across the bottom) -#: ../titles.h:59 -msgid "Colors" -msgstr "Litir" - -#. Title of brush selector (buttons down the right for paint and line tools) -#: ../titles.h:62 -msgid "Brushes" -msgstr "Penslar" - -# Strokleður is the same in plural as singular -#. Title of eraser selector (buttons down the right for eraser tool) -#: ../titles.h:65 -msgid "Erasers" -msgstr "Strokleður" - -#. Title of stamp selector (buttons down the right for stamps tool) -#: ../titles.h:68 -msgid "Stamps" -msgstr "Stimplar" - -#. Title of shape selector (buttons down the right for shapes tool) -#. Shape creation tool (square, circle, etc.) -#: ../titles.h:71 ../tools.h:71 -msgid "Shapes" -msgstr "Form" - -#. Title of font selector (buttons down the right for text and label tools) -#: ../titles.h:74 -msgid "Letters" -msgstr "Stafir" - -#. Title of magic tool selector (buttons down the right for magic (effect plugin) tool) -#. "Magic" effects tools (blur, flip image, etc.) -#: ../titles.h:77 ../tools.h:83 -msgid "Magic" -msgstr "Töfrar" - -#. Freehand painting tool -#: ../tools.h:62 -msgid "Paint" -msgstr "Teikna" - -#. Stamp tool (aka Rubber Stamps) -#: ../tools.h:65 -msgid "Stamp" -msgstr "Stimpla" - -#. Line drawing tool -#: ../tools.h:68 -msgid "Lines" -msgstr "Línur" - -#. Text tool -#: ../tools.h:74 -msgid "Text" -msgstr "Texti" - -#. Label tool -#: ../tools.h:77 -msgid "Label" -msgstr "Skýring" - -#. Fill tool -#: ../tools.h:80 -msgid "Fill" -msgstr "Fylla" - -#. Undo last action -#: ../tools.h:86 -msgid "Undo" -msgstr "Hætta við" - -#. Redo undone action -#: ../tools.h:89 -msgid "Redo" -msgstr "Gera aftur" - -#. Eraser tool -#: ../tools.h:92 -msgid "Eraser" -msgstr "Strokleður" - -#. Start a new picture -#: ../tools.h:95 -msgid "New" -msgstr "Nýtt" - -#. Open a saved picture -#. buttons for the file open dialog -#. Open dialog: 'Open' button, to load the selected picture -#: ../tools.h:98 ../tuxpaint.c:7920 -msgid "Open" -msgstr "Opna" - -#. Save the current picture -#: ../tools.h:101 -msgid "Save" -msgstr "Geyma" - -#. Print the current picture -#: ../tools.h:104 -msgid "Print" -msgstr "Prenta" - -#. Quit/exit Tux Paint application -#: ../tools.h:107 -msgid "Quit" -msgstr "Hætta" - -#. Paint tool instructions -#: ../tools.h:115 -msgid "Pick a color and a brush shape to draw with." -msgstr "Veldu lit og pensil til að teikna með." - -#. Stamp tool instructions -#: ../tools.h:118 -msgid "Pick a picture to stamp around your drawing." -msgstr "Veldu mynd til að nota sem stimpil." - -#. Line tool instructions -#: ../tools.h:121 -msgid "Click to start drawing a line. Let go to complete it." -msgstr "Smelltu til að byrja línu. Slepptu til að enda línuna." - -#: ../tools.h:125 -msgid "" -"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." -msgstr "" -"Veldu form. Smelltu til að byrja að teikna, dragðu músina til, slepptu þegar " -"það er af réttri stærð. Hreyfðu til að snúa forminu, og smelltu til að " -"teikna það." - -#: ../tools.h:129 -msgid "" -"Choose a style of text. Click on your drawing and you can start typing. " -"Press [Enter] or [Tab] to complete the text." -msgstr "" -"Veldu letur. Smelltu á myndina og þú getur byrjað að skrifa. Ýttu á [Enter] " -"eða [Tab] til að ljúka texta." - -#: ../tools.h:133 -msgid "" -"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." -msgstr "" -"Veldu stíl á letur. Smelltu á myndina og þú getur byrjað að skrifa. Ýttu á " -"[Enter] eða [Tab] til að ljúka texta. Með því að nota valhnappinn og smella " -"á texta sem fyrir er, þá getur þú fært textann, breytt honum og breytt " -"útliti og stíl." - -#. Fill tool instructions -#: ../tools.h:136 -msgid "Click in the picture to fill that area with color." -msgstr "Smelltu og hreyfðu músina til að fylla svæðið með lit." - -#. Magic tool instruction -#: ../tools.h:139 -msgid "Pick a magical effect to use on your drawing!" -msgstr "Veldu töfraaðferð sem þú ætlar að nota á myndina!" - -#. Response to 'undo' action -#: ../tools.h:142 -msgid "Undo!" -msgstr "Hætta við!" - -#. Response to 'redo' action -#: ../tools.h:145 -msgid "Redo!" -msgstr "Gera aftur!" - -#. Eraser tool -#: ../tools.h:148 -msgid "Eraser!" -msgstr "Strokleður!" - -#. Response to 'start a new image' action -#: ../tools.h:151 -msgid "Pick a color or picture with which to start a new drawing." -msgstr "Veldu lit eða mynd sem þú ætlar að nota til að búa til nýja mynd." - -#. Response to 'open' action (while file dialog is being constructed) -#: ../tools.h:154 -msgid "Open…" -msgstr "Opna..." - -#. Response to 'save' action -#: ../tools.h:157 -msgid "Your image has been saved!" -msgstr "Búið að geyma myndina þína!" - -#. Response to 'print' action (while printing, or print dialog is being used) -#: ../tools.h:160 -msgid "Printing…" -msgstr "Prenta..." - -#. Response to 'quit' (exit) action -#: ../tools.h:163 -msgid "Bye bye!" -msgstr "Bless!" - -#. Instruction while using Line tool (after click, before release) -#: ../tools.h:167 -msgid "Let go of the button to complete the line." -msgstr "Slepptu hnappnum til að enda línuna." - -#. Instruction while using Shape tool (after first click, before release) -#: ../tools.h:170 -msgid "Hold the button to stretch the shape." -msgstr "Haltu hnappnum niðri til að teygja formið." - -#. Instruction while finishing Shape tool (after release, during rotation step before second click) -#: ../tools.h:173 -msgid "Move the mouse to rotate the shape. Click to draw it." -msgstr "Hreyfðu músina til að snúa forminu. Smelltu til að teikna það." - -#. Notification that 'New' action was aborted (current image would have been lost) -#: ../tools.h:176 -msgid "OK then… Let’s keep drawing this one!" -msgstr "Allt í lagi... Höldum þá áfram með þessa!" - -#. Prompt to confirm user wishes to quit -#: ../tuxpaint.c:2134 -msgid "Do you really want to quit?" -msgstr "Viltu í alvöru hætta?" - -#. Quit prompt positive response (quit) -#: ../tuxpaint.c:2137 -msgid "Yes, I’m done!" -msgstr "Já, ég er búin!" - -#. Quit prompt negative response (don't quit) -#: ../tuxpaint.c:2140 ../tuxpaint.c:2167 -msgid "No, take me back!" -msgstr "Nei, ég vil halda áfram!" - -#. Current picture is not saved; user is quitting -#: ../tuxpaint.c:2144 -msgid "If you quit, you’ll lose your picture! Save it?" -msgstr "Ef þú hættir, tapast myndin! Viltu geyma hana?" - -#: ../tuxpaint.c:2145 ../tuxpaint.c:2150 -msgid "Yes, save it!" -msgstr "Já, geyma hana!" - -#: ../tuxpaint.c:2146 ../tuxpaint.c:2151 -msgid "No, don’t bother saving!" -msgstr "Nei, ekki geyma þetta!" - -#. Current picture is not saved; user is opening another picture -#: ../tuxpaint.c:2149 -msgid "Save your picture first?" -msgstr "Geyma myndina fyrst?" - -#. Error opening picture -#: ../tuxpaint.c:2154 -msgid "Can’t open that picture!" -msgstr "Get ekki opnað þessa mynd!" - -#. Generic dialog dismissal -#: ../tuxpaint.c:2157 ../tuxpaint.c:2162 ../tuxpaint.c:2171 ../tuxpaint.c:2178 -#: ../tuxpaint.c:2187 ../tuxpaint.c:2192 -msgid "OK" -msgstr "Í lagi" - -#. Notification that 'Open' dialog has nothing to show -#: ../tuxpaint.c:2161 -msgid "There are no saved files!" -msgstr "Fann engar geymdar myndir!" - -#. Verification of print action -#: ../tuxpaint.c:2165 -msgid "Print your picture now?" -msgstr "Prenta myndina núna?" - -#: ../tuxpaint.c:2166 -msgid "Yes, print it!" -msgstr "Já, prentaðu hana!" - -#. Confirmation of successful (we hope) printing -#: ../tuxpaint.c:2170 -msgid "Your picture has been printed!" -msgstr "Búið að prenta myndina þína!" - -#. We got an error printing -#: ../tuxpaint.c:2174 -msgid "Sorry! Your picture could not be printed!" -msgstr "Því miður! Það var ekki hægt að prenta myndina þína!" - -#. Notification that it's too soon to print again (--printdelay option is in effect) -#: ../tuxpaint.c:2177 -msgid "You can’t print yet!" -msgstr "Þú getur ekki prentað strax!" - -#. Prompt to confirm erasing a picture in the Open dialog -#: ../tuxpaint.c:2181 -msgid "Erase this picture?" -msgstr "Eyða myndinni?" - -#: ../tuxpaint.c:2182 -msgid "Yes, erase it!" -msgstr "Já, eyða henni!" - -#: ../tuxpaint.c:2183 -msgid "No, don’t erase it!" -msgstr "Nei, ekki eyða henni!" - -#. Reminder that Mouse Button 1 is the button to use in Tux Paint -#: ../tuxpaint.c:2186 -msgid "Remember to use the left mouse button!" -msgstr "Muna eftir að nota vinstri músarhnappinn!" - -#. Confirmation of successful (we hope) image export -#: ../tuxpaint.c:2190 -msgid "Your picture has been exported!" -msgstr "Búið að flytja út myndina þína!" - -#: ../tuxpaint.c:2191 -msgid "Your slideshow GIF has been exported!" -msgstr "Búið að flytja út GIF-skyggnusýninguna þína!" - -#. We got an error exporting -#: ../tuxpaint.c:2195 -msgid "Sorry! Your picture could not be exported!" -msgstr "Því miður! Það var ekki hægt að flytja út myndina þína!" - -#: ../tuxpaint.c:2196 -msgid "Sorry! Your slideshow GIF could not be exported!" -msgstr "Því miður! Það var ekki hægt að flytja út GIF-skyggnusýninguna þína!" - -#. Slideshow instructions -#: ../tuxpaint.c:2200 -msgid "Choose the pictures you want, then click “Play”." -msgstr "Veldu myndirnar sem þú vilt, og smelltu svo á \"Spila\"." - -#. Sound has been muted (silenced) via keyboard shortcut -#: ../tuxpaint.c:2407 -msgid "Sound muted." -msgstr "Slökkt á hljóði." - -#. Sound has been unmuted (unsilenced) via keyboard shortcut -#: ../tuxpaint.c:2412 -msgid "Sound unmuted." -msgstr "Kveikt á hljóði." - -#. Wait while Text tool finishes loading fonts -#: ../tuxpaint.c:3167 -msgid "Please wait…" -msgstr "Bíddu aðeins..." - -#. Open dialog: 'Erase' button, to erase/deleted the selected picture -#: ../tuxpaint.c:7923 -msgid "Erase" -msgstr "Eyða" - -#. Open dialog: 'Slides' button, to switch to slide show mode -#: ../tuxpaint.c:7926 -msgid "Slides" -msgstr "Myndasýning" - -#. Open dialog: 'Export' button, to copy an image to an easily-accessible location -#: ../tuxpaint.c:7929 -msgid "Export" -msgstr "Flytja út" - -#. Open dialog: 'Back' button, to dismiss Open dialog without opening a picture -#: ../tuxpaint.c:7932 -msgid "Back" -msgstr "Til baka" - -#. Slideshow: 'Play' button, to begin a slideshow sequence -#: ../tuxpaint.c:7935 -msgid "Play" -msgstr "Spila" - -#. Slideshow: 'GIF Export' button, to create an animated GIF -#: ../tuxpaint.c:7938 -msgid "GIF Export" -msgstr "GIF-útflutningur" - -#. Slideshow: 'Next' button, to load next slide (image) -#: ../tuxpaint.c:7941 -msgid "Next" -msgstr "Áfram" - -#. Label for 'Letters' buttons (font selector, down the right when the Text tool is being used); used to show the difference between font faces -#: ../tuxpaint.c:8656 -msgid "Aa" -msgstr "Aa" - -#. Admittedly stupid way of determining which keys can be used for -#. positive and negative responses in dialogs (e.g., [Y] (for 'yes') in English) -#: ../tuxpaint.c:12069 -msgid "Yes" -msgstr "Já" - -#: ../tuxpaint.c:12073 -msgid "No" -msgstr "Nei" - -#. Prompt to ask whether user wishes to save over old version of their file -#: ../tuxpaint.c:13190 -msgid "Replace the picture with your changes?" -msgstr "Skipta út eldri myndinni með þeirri nýju?" - -#. Positive response to saving over old version -#. (like a 'File:Save' action in other applications) -#: ../tuxpaint.c:13194 -msgid "Yes, replace the old one!" -msgstr "Já, skipta út þeirri gömlu!" - -#. Negative response to saving over old version (saves a new image) -#. (like a 'File:Save As...' action in other applications) -#: ../tuxpaint.c:13198 -msgid "No, save a new file!" -msgstr "Nei, geyma nýja mynd!" - -#. Let user choose an image: -#. Instructions for 'Open' file dialog -#: ../tuxpaint.c:14454 -msgid "Choose the picture you want, then click “Open”." -msgstr "Veldu teikningu, og smelltu svo á 'Opna'." - -#. None selected? Too dangerous to automatically select all (like we do for slideshow playback). -#. Only 1 selected? No point in saving as GIF. -#. -#: ../tuxpaint.c:15880 -msgid "Select 2 or more drawings to turn into an animated GIF." -msgstr "Veldu 2 eða fleiri teikningar sem á að breyta í GIF-hreyfimynd." - -#: ../tuxpaint.c:23539 -msgid "Select a color from your drawing." -msgstr "Veldu lit úr teikningunni þinni." - -#: ../tuxpaint.c:23551 -msgid "Pick a color." -msgstr "Veldu lit." - -#: ../tuxpaint.desktop.in.h:1 -msgid "Tux Paint" -msgstr "Tux Paint" - -#: ../tuxpaint.desktop.in.h:2 -msgid "Drawing program" -msgstr "Teikniforrit" - -#: ../tuxpaint.desktop.in.h:3 -msgid "A drawing program for children." -msgstr "Teikniforrit fyrir krakka." - -#: ../../magic/src/alien.c:68 -msgid "Color Shift" -msgstr "Litskipti" - -#: ../../magic/src/alien.c:72 -msgid "Click and drag the mouse to change the colors in parts of your picture." -msgstr "Smelltu og dragðu músina til að breyta litunum í hluta myndarinnar." - -#: ../../magic/src/alien.c:73 -msgid "Click to change the colors in your entire picture." -msgstr "Smelltu og hreyfðu músina til að breyta litunum í allri myndinni." - -#: ../../magic/src/blind.c:116 -msgid "Blind" -msgstr "Rimlagluggar" - -#: ../../magic/src/blind.c:123 -msgid "" -"Click towards the edge of your picture to pull window blinds over it. Move " -"perpendicularly to open or close the blinds." -msgstr "" -"Smelltu við jaðar myndarinnar til að draga rimlagluggatjöld fyrir myndina. " -"Færðu músina þvert til að opna og loka gluggatjöldunum." - -#: ../../magic/src/blocks_chalk_drip.c:129 -msgid "Blocks" -msgstr "Blokkir" - -#: ../../magic/src/blocks_chalk_drip.c:131 -msgid "Chalk" -msgstr "Krít" - -#: ../../magic/src/blocks_chalk_drip.c:133 -msgid "Drip" -msgstr "Leka" - -#: ../../magic/src/blocks_chalk_drip.c:142 -msgid "Click and drag the mouse around to make the picture blocky." -msgstr "Smelltu og dragðu músina til að gera myndina alla í blokkum." - -#: ../../magic/src/blocks_chalk_drip.c:144 -msgid "" -"Click and drag the mouse around to turn the picture into a chalk drawing." -msgstr "Smelltu og dragðu músina til að breyta myndinni í krítarmynd!" - -#: ../../magic/src/blocks_chalk_drip.c:146 -msgid "Click and drag the mouse around to make the picture drip." -msgstr "Smelltu og dragðu músina til að láta myndina leka." - -#: ../../magic/src/blur.c:80 -msgid "Blur" -msgstr "Móða" - -#: ../../magic/src/blur.c:84 -msgid "Click and drag the mouse around to blur the image." -msgstr "Smelltu og dragðu músina til að gera myndina óskýrari." - -#: ../../magic/src/blur.c:85 -msgid "Click to blur the entire image." -msgstr "Smelltu til að gera alla myndina óskýrari." - -#. Both are named "Bricks", at the moment: -#: ../../magic/src/bricks.c:120 -msgid "Bricks" -msgstr "Kassar" - -#: ../../magic/src/bricks.c:127 -msgid "Click and drag to draw large bricks." -msgstr "Smelltu og dragðu músina til að búa til stóra kassa." - -#: ../../magic/src/bricks.c:129 -msgid "Click and drag to draw small bricks." -msgstr "Smelltu og dragðu músina til að búa til litla kassa." - -#: ../../magic/src/calligraphy.c:124 -msgid "Calligraphy" -msgstr "Skrautritun" - -#: ../../magic/src/calligraphy.c:131 -msgid "Click and drag the mouse around to draw in calligraphy." -msgstr "Smelltu og dragðu músina til að teikna eins og skrautskrift." - -#: ../../magic/src/cartoon.c:103 -msgid "Cartoon" -msgstr "Teiknimynd" - -#: ../../magic/src/cartoon.c:109 -msgid "Click and drag the mouse around to turn the picture into a cartoon." -msgstr "Smelltu og dragðu músina til að breyta myndinni í teiknimynd." - -#: ../../magic/src/confetti.c:83 -msgid "Confetti" -msgstr "Pappírsskraut" - -#: ../../magic/src/confetti.c:88 -msgid "Click to throw confetti!" -msgstr "Smelltu til að kasta skrauti!" - -#: ../../magic/src/distortion.c:134 -msgid "Distortion" -msgstr "Afmynda" - -#: ../../magic/src/distortion.c:143 -msgid "Click and drag the mouse to cause distortion in your picture." -msgstr "Smelltu og dragðu músina til að afmynda hluta myndarinnar." - -#: ../../magic/src/emboss.c:101 -msgid "Emboss" -msgstr "Upphleypt" - -#: ../../magic/src/emboss.c:107 -msgid "Click and drag the mouse to emboss the picture." -msgstr "Smelltu og dragðu músina til að upphleypa myndina." - -#: ../../magic/src/fade_darken.c:114 -msgid "Lighten" -msgstr "Birta" - -#: ../../magic/src/fade_darken.c:116 -msgid "Darken" -msgstr "Dekkja" - -#: ../../magic/src/fade_darken.c:127 -msgid "Click and drag the mouse to lighten parts of your picture." -msgstr "Smelltu og dragðu músina til að gera hluta myndarinnar bjartari." - -#: ../../magic/src/fade_darken.c:129 -msgid "Click to lighten your entire picture." -msgstr "Smelltu til að gera myndina bjartari" - -#: ../../magic/src/fade_darken.c:134 -msgid "Click and drag the mouse to darken parts of your picture." -msgstr "Smelltu og dragðu músina til að gera hluta myndarinnar dekkri." - -#: ../../magic/src/fade_darken.c:136 -msgid "Click to darken your entire picture." -msgstr "Smelltu til að gera myndina dekkri." - -#: ../../magic/src/fisheye.c:101 -msgid "Fisheye" -msgstr "Fiskauga" - -#: ../../magic/src/fisheye.c:106 -msgid "Click on part of your picture to create a fisheye effect." -msgstr "Smelltu á svæði amyndinni til að framkalla fiskauga-áhrif." - -#: ../../magic/src/flower.c:144 -msgid "Flower" -msgstr "Blóm" - -#: ../../magic/src/flower.c:150 -msgid "Click and drag to draw a flower stalk. Let go to finish the flower." -msgstr "Smelltu og dragðu til að teikna blómstilk. Förum svo og klárum blómið." - -#: ../../magic/src/foam.c:114 -msgid "Foam" -msgstr "Froða" - -#: ../../magic/src/foam.c:120 -msgid "Click and drag the mouse to cover an area with foamy bubbles." -msgstr "Smelltu og dragðu músina yfir svæði til að þekja það með froðu." - -#: ../../magic/src/fold.c:103 -msgid "Fold" -msgstr "Brot" - -#: ../../magic/src/fold.c:108 -msgid "" -"Choose a background color and click to turn the corner of the page over." -msgstr "Veldu bakgrunnslit og smelltu til að snúa við horni myndarinnar" - -#: ../../magic/src/fretwork.c:176 -msgid "Fretwork" -msgstr "Mynstur" - -#: ../../magic/src/fretwork.c:182 -msgid "Click and drag to draw repetitive patterns. " -msgstr "Smelltu og dragðu músina til að búa til endurtekin mynstur. " - -#: ../../magic/src/fretwork.c:184 -msgid "Click to surround your picture with repetitive patterns." -msgstr "" -"Smelltu til að ramma myndina inn myndina þína með endurteknum mynstrum." - -#: ../../magic/src/glasstile.c:104 -msgid "Glass Tile" -msgstr "Glerflísar" - -#: ../../magic/src/glasstile.c:111 -msgid "Click and drag the mouse to put glass tile over your picture." -msgstr "Smelltu og dragðu músina til að draga glerflísar yfir myndina." - -#: ../../magic/src/glasstile.c:113 -msgid "Click to cover your entire picture in glass tiles." -msgstr "Smelltu til að brjóta myndina þína upp í glerflísar." - -#: ../../magic/src/grass.c:107 -msgid "Grass" -msgstr "Gras" - -#: ../../magic/src/grass.c:113 -msgid "Click and drag to draw grass. Don’t forget the dirt!" -msgstr "Smelltu og dragðu músina til að teikna gras. Ekki gleyma drullunni!" - -#: ../../magic/src/halftone.c:35 -msgid "Halftone" -msgstr "Hálftónað" - -#: ../../magic/src/halftone.c:39 -msgid "Click and drag to turn your drawing into a newspaper." -msgstr "Smelltu og dragðu músina til að breyta myndinni þinni í dagblað." - -#: ../../magic/src/kalidescope.c:119 -msgid "Symmetric Left/Right" -msgstr "Samhverft Vinstri/Hægri" - -#: ../../magic/src/kalidescope.c:123 -msgid "Symmetric Up/Down" -msgstr "Samhverft Efri/Neðri" - -#: ../../magic/src/kalidescope.c:127 -msgid "Pattern" -msgstr "Mynstur" - -#: ../../magic/src/kalidescope.c:131 -msgid "Tiles" -msgstr "Flísar" - -#. KAL_BOTH -#: ../../magic/src/kalidescope.c:135 -msgid "Kaleidoscope" -msgstr "Kviksjá" - -#: ../../magic/src/kalidescope.c:146 -msgid "" -"Click and drag the mouse to draw with two brushes that are symmetric across " -"the left and right of your picture." -msgstr "" -"Smelltu og dragðu músina til teikna með tveimur penslum sem eru samhverfir " -"hægra og vinstri meginn á myndinni - um lóðréttan ás." - -#: ../../magic/src/kalidescope.c:152 -msgid "" -"Click and drag the mouse to draw with two brushes that are symmetric across " -"the top and bottom of your picture." -msgstr "" -"Smelltu og dragðu músina til teikna með tveimur penslum sem eru samhverfir " -"um efri og neðri hluta myndarinnar - um láréttan ás." - -#: ../../magic/src/kalidescope.c:156 -msgid "Click and drag the mouse to draw a pattern across the picture." -msgstr "Smelltu og dragðu músina til að draga mynstur yfir myndina." - -#: ../../magic/src/kalidescope.c:160 -msgid "" -"Click and drag the mouse to draw a pattern that is symmetric across the " -"picture." -msgstr "Smelltu og dragðu músina til teikna samhverft mynstur á myndina." - -#. KAL_BOTH -#: ../../magic/src/kalidescope.c:164 -msgid "" -"Click and drag the mouse to draw with symmetric brushes (a kaleidoscope)." -msgstr "" -"Smelltu og dragðu músina til að teikna með samhverfum penslum (kviksjá)." - -#: ../../magic/src/light.c:103 -msgid "Light" -msgstr "Ljós" - -#: ../../magic/src/light.c:109 -msgid "Click and drag to draw a beam of light on your picture." -msgstr "Smelltu og dragðu til að teikna ljósgeisla á myndina þína." - -#: ../../magic/src/metalpaint.c:98 -msgid "Metal Paint" -msgstr "Málm-áferð" - -#: ../../magic/src/metalpaint.c:105 -msgid "Click and drag the mouse to paint with a metallic color." -msgstr "Smelltu og dragðu músina til að teikna með málmáferð." - -#: ../../magic/src/mirror_flip.c:110 -msgid "Mirror" -msgstr "Spegla" - -#: ../../magic/src/mirror_flip.c:112 -msgid "Flip" -msgstr "Fletta" - -#: ../../magic/src/mirror_flip.c:121 -msgid "Click to make a mirror image." -msgstr "Smelltu til að gera spegilmynd." - -#: ../../magic/src/mirror_flip.c:123 -msgid "Click to flip the picture upside-down." -msgstr "Smelltu til að setja myndina á hvolf." - -#: ../../magic/src/mosaic.c:96 -msgid "Mosaic" -msgstr "Tígulsteinar" - -#: ../../magic/src/mosaic.c:100 -msgid "" -"Click and drag the mouse to add a mosaic effect to parts of your picture." -msgstr "" -"Smelltu og dragðu músina til að bæta við tígulsteina-áhrifum á hluta " -"myndarinnar." - -#: ../../magic/src/mosaic.c:101 -msgid "Click to add a mosaic effect to your entire picture." -msgstr "Smelltu til að bæta við tígulsteina-áhrifum á myndina þína." - -#: ../../magic/src/mosaic_shaped.c:132 -msgid "Square Mosaic" -msgstr "Ferhyrndur tígulsteinn" - -#: ../../magic/src/mosaic_shaped.c:133 -msgid "Hexagon Mosaic" -msgstr "Sexhyrndur tígulsteinn" - -#: ../../magic/src/mosaic_shaped.c:134 -msgid "Irregular Mosaic" -msgstr "Óreglulegur tígulsteinn" - -#: ../../magic/src/mosaic_shaped.c:140 -msgid "" -"Click and drag the mouse to add a square mosaic to parts of your picture." -msgstr "" -"Smelltu og dragðu músina til að bæta við ferhyrndum mósaík-áhrifum á myndina." - -#: ../../magic/src/mosaic_shaped.c:141 -msgid "Click to add a square mosaic to your entire picture." -msgstr "" -"Smelltu og hreyfðu músina til að bæta við ferhyrndum tígulsteina-áhrifum á " -"alla myndina þína." - -#: ../../magic/src/mosaic_shaped.c:145 -msgid "" -"Click and drag the mouse to add a hexagonal mosaic to parts of your picture." -msgstr "" -"Smelltu og dragðu músina til að bæta við sexhyrndum tígulsteina-áhrifum á " -"myndina." - -#: ../../magic/src/mosaic_shaped.c:146 -msgid "Click to add a hexagonal mosaic to your entire picture." -msgstr "" -"Smelltu til að bæta við sexhyrndum tígulsteina-áhrifum á alla myndina þína." - -#: ../../magic/src/mosaic_shaped.c:150 -msgid "" -"Click and drag the mouse to add an irregular mosaic to parts of your picture." -msgstr "" -"Smelltu og dragðu músina til að bæta við óreglulegum tígulsteina-áhrifum á " -"hluta myndarinnar." - -#: ../../magic/src/mosaic_shaped.c:151 -msgid "Click to add an irregular mosaic to your entire picture." -msgstr "" -"Smelltu til að bæta við óreglulegum tígulsteina-áhrifum á myndina þína." - -#: ../../magic/src/negative.c:94 -msgid "Negative" -msgstr "Andhverfa" - -#: ../../magic/src/negative.c:101 -msgid "Click and drag the mouse around to make your painting negative." -msgstr "Smelltu og dragðu músina til að andhverfa litum myndarinnar." - -#: ../../magic/src/negative.c:103 -msgid "Click to turn your painting into its negative." -msgstr "Smelltu til að andhverfa litum myndarinnar." - -#: ../../magic/src/noise.c:66 -msgid "Noise" -msgstr "Óregla" - -#: ../../magic/src/noise.c:70 -msgid "Click and drag the mouse to add noise to parts of your picture." -msgstr "Smelltu og dragðu músina til bæta við óreglu í myndina." - -#: ../../magic/src/noise.c:71 -msgid "Click to add noise to your entire picture." -msgstr "Smelltu til bæta við óreglu í alla myndina." - -#: ../../magic/src/perspective.c:147 -msgid "Perspective" -msgstr "Sjónarhorn" - -#: ../../magic/src/perspective.c:148 -msgid "Zoom" -msgstr "Renna" - -#: ../../magic/src/perspective.c:153 -msgid "Click on the corners and drag where you want to stretch the picture." -msgstr "Smelltu á hornin og dragðu myndina til að teygja hana." - -#: ../../magic/src/perspective.c:156 -msgid "Click and drag up to zoom in or drag down to zoom out the picture." -msgstr "" -"Smelltu og dragðu músina upp til að renna að eða niður til að renna frá " -"myndinni." - -#: ../../magic/src/puzzle.c:103 -msgid "Puzzle" -msgstr "Púsluspil" - -#: ../../magic/src/puzzle.c:110 -msgid "Click the part of your picture where would you like a puzzle." -msgstr "Smelltu á hluta myndarinnar sem þú vilt líkja púsluspili." - -#: ../../magic/src/puzzle.c:111 -msgid "Click to make a puzzle in fullscreen mode." -msgstr "Smelltu til að búa til púsluspil yfir allan skjáinn." - -#: ../../magic/src/rails.c:129 -msgid "Rails" -msgstr "Teinar" - -#: ../../magic/src/rails.c:134 -msgid "Click and drag to draw train track rails on your picture." -msgstr "" -"Smelltu og dragðu músina til að teikna járnbrautarteina á myndina þína." - -#: ../../magic/src/rainbow.c:133 -msgid "Rainbow" -msgstr "Regnbogi" - -#: ../../magic/src/rainbow.c:139 -msgid "You can draw in rainbow colors!" -msgstr "Þú getur teiknað með regnboga-litum!" - -#: ../../magic/src/rain.c:68 -msgid "Rain" -msgstr "Regn" - -#: ../../magic/src/rain.c:72 -msgid "Click to place a rain drop onto your picture." -msgstr "Smelltu til að setja regndropa á myndina þína." - -#: ../../magic/src/rain.c:73 -msgid "Click to cover your picture with rain drops." -msgstr "Smelltu til að setja regndropa á alla myndina þína." - -#: ../../magic/src/realrainbow.c:98 -msgid "Real Rainbow" -msgstr "Raunverulegur Regnbogi" - -#: ../../magic/src/realrainbow.c:100 -msgid "ROYGBIV Rainbow" -msgstr "RAGGBLF Regnbogi" - -#: ../../magic/src/realrainbow.c:108 -msgid "" -"Click where you want your rainbow to start, drag to where you want it to " -"end, and then let go to draw a rainbow." -msgstr "" -"Smelltu þar sem þú vilt að regnboginn byrji, dragðu þangað sem þú vilt að " -"regnboginn endi, og slepptu músahnappnum til að teikna regnboga." - -#: ../../magic/src/ripples.c:102 -msgid "Ripples" -msgstr "Gárur" - -#: ../../magic/src/ripples.c:108 -msgid "Click to make ripples appear over your picture." -msgstr "Smelltu til að gera gárur á myndina þína." - -#: ../../magic/src/rosette.c:115 -msgid "Rosette" -msgstr "Rósetta" - -#: ../../magic/src/rosette.c:117 -msgid "Picasso" -msgstr "Picasso" - -#: ../../magic/src/rosette.c:123 -msgid "Click and start drawing your rosette." -msgstr "Smelltu og byrjaðu að teikna rósettuna þína." - -#: ../../magic/src/rosette.c:125 -msgid "You can draw just like Picasso!" -msgstr "Þú getur teiknað eins og Picasso!" - -#: ../../magic/src/sharpen.c:76 -msgid "Edges" -msgstr "Jaðrar" - -#: ../../magic/src/sharpen.c:77 -msgid "Sharpen" -msgstr "Skerpa" - -#: ../../magic/src/sharpen.c:78 -msgid "Silhouette" -msgstr "Skuggamynd" - -#: ../../magic/src/sharpen.c:82 -msgid "Click and drag the mouse to trace edges in parts of your picture." -msgstr "" -"Smelltu og dragðu músina til að draga eftir jöðrum í hluta myndarinnar." - -#: ../../magic/src/sharpen.c:83 -msgid "Click to trace edges in your entire picture." -msgstr "Smelltu til að teikna í jaðra á allri myndinni þinni." - -#: ../../magic/src/sharpen.c:84 -msgid "Click and drag the mouse to sharpen parts of your picture." -msgstr "Smelltu og dragðu músina til að skerpa hluta myndarinnar þinnar." - -#: ../../magic/src/sharpen.c:85 -msgid "Click to sharpen the entire picture." -msgstr "Smelltu til að skerpa alla myndina." - -#: ../../magic/src/sharpen.c:86 -msgid "Click and drag the mouse to create a black and white silhouette." -msgstr "Smelltu og dragðu músina til að gera svart-hvítar skuggamyndir." - -#: ../../magic/src/sharpen.c:87 -msgid "Click to create a black and white silhouette of your entire picture." -msgstr "Smelltu til að gera myndina alla myndina að skuggamynd." - -#: ../../magic/src/shift.c:106 -msgid "Shift" -msgstr "Hliðra" - -#: ../../magic/src/shift.c:112 -msgid "Click and drag to shift your picture around on the canvas." -msgstr "Smelltu og dragðu músina til að færa myndina til á bakgrunninum." - -#: ../../magic/src/smudge.c:102 -msgid "Smudge" -msgstr "Fingramálun" - -#. if (which == 1) -#: ../../magic/src/smudge.c:104 -msgid "Wet Paint" -msgstr "Blaut málning" - -#: ../../magic/src/smudge.c:111 -msgid "Click and drag the mouse around to smudge the picture." -msgstr "Smelltu og dragðu músina til að káma myndina." - -#. if (which == 1) -#: ../../magic/src/smudge.c:113 -msgid "Click and drag the mouse around to draw with wet, smudgy paint." -msgstr "" -"Smelltu og dragðu músina til að líkja eftir fingramálun með blautri málningu." - -#: ../../magic/src/snow.c:71 -msgid "Snow Ball" -msgstr "Snjóbolti" - -#: ../../magic/src/snow.c:72 -msgid "Snow Flake" -msgstr "Snjókorn" - -#: ../../magic/src/snow.c:76 -msgid "Click to add snow balls to your picture." -msgstr "Smelltu til bæta snjóboltum við myndina þína." - -#: ../../magic/src/snow.c:77 -msgid "Click to add snow flakes to your picture." -msgstr "Smelltu til bæta snjókornum við myndina þína." - -#: ../../magic/src/string.c:129 -msgid "String edges" -msgstr "Streng-jaðrar" - -#: ../../magic/src/string.c:132 -msgid "String corner" -msgstr "Streng-horn" - -#: ../../magic/src/string.c:135 -msgid "String 'V'" -msgstr "Streng-V" - -#: ../../magic/src/string.c:147 -msgid "" -"Click and drag to draw string art. Drag top-bottom to draw less or more " -"lines, left or right to make a bigger hole." -msgstr "" -"Smelltu og dragðu til að teikna strengjalist. Dragðu frá efri hluta myndar " -"og niður til að teikna færri eða fleiri línur, vinstri eða hægri til að gera " -"stærri holu." - -#: ../../magic/src/string.c:150 -msgid "Click and drag to draw arrows made of string art." -msgstr "Smelltu og dragðu til að teikna strengjalistörvar." - -#: ../../magic/src/string.c:153 -msgid "Draw string art arrows with free angles." -msgstr "Teikna strengja-list-örvar með frjálsum hornum." - -#: ../../magic/src/tint.c:74 -msgid "Tint" -msgstr "Litbrigði" - -#: ../../magic/src/tint.c:75 -msgid "Color & White" -msgstr "Litur+Hvítt" - -#: ../../magic/src/tint.c:79 -msgid "" -"Click and drag the mouse around to change the color of parts of your picture." -msgstr "Smelltu og dragðu músina um til að breyta litum á hluta myndarinnar." - -#: ../../magic/src/tint.c:80 -msgid "Click to change the color of your entire picture." -msgstr "Smelltu til að breyta litum myndarinnar." - -#: ../../magic/src/tint.c:81 -msgid "" -"Click and drag the mouse around to turn parts of your picture into white and " -"a color you choose." -msgstr "" -"Smelltu og dragðu músina um til að breyta hluta af myndinni þinni yfir í " -"hvítt og annan lit sem þú velur." - -#: ../../magic/src/tint.c:82 -msgid "Click to turn your entire picture into white and a color you choose." -msgstr "Smelltu til að breyta myndinni þinni yfir í hvítt og lit sem þú velur." - -#: ../../magic/src/toothpaste.c:68 -msgid "Toothpaste" -msgstr "Tannkrem" - -#: ../../magic/src/toothpaste.c:72 -msgid "Click and drag to squirt toothpaste onto your picture." -msgstr "Smelltu og dragðu músina til að sprauta tannkremi yfir myndina þína." - -#: ../../magic/src/tornado.c:153 -msgid "Tornado" -msgstr "Hvirfilvindur" - -#: ../../magic/src/tornado.c:159 -msgid "Click and drag to draw a tornado funnel on your picture." -msgstr "Smelltu og dragðu músina til að teikna hvirfilvind á myndina þína." - -#: ../../magic/src/tv.c:96 -msgid "TV" -msgstr "Sjónvarp" - -#: ../../magic/src/tv.c:102 -msgid "" -"Click and drag to make parts of your picture look like they are on " -"television." -msgstr "" -"Smelltu og dragðu músina til að láta hluta myndarinnar líta út eins og þeir " -"séu í sjónvarpi." - -#: ../../magic/src/tv.c:105 -msgid "Click to make your picture look like it's on television." -msgstr "Smelltu til að láta myndina líta út eins og hún sé sjónvarpsmynd." - -#: ../../magic/src/waves.c:104 -msgid "Waves" -msgstr "Bylgjur" - -#: ../../magic/src/waves.c:106 -msgid "Wavelets" -msgstr "Smábylgjur" - -#: ../../magic/src/waves.c:115 -msgid "" -"Click to make the picture horizontally wavy. Click toward the top for " -"shorter waves, the bottom for taller waves, the left for small waves, and " -"the right for long waves." -msgstr "" -"Smelltu til að búa til láréttar bylgjur. Smelltu ofarlega til að gera " -"bylgjurnar styttri, neðarlega fyrir stærri bylgjur, til vinstri fyrir litlar " -"bylgjur og til hægri fyrir langar bylgjur." - -#: ../../magic/src/waves.c:118 -msgid "" -"Click to make the picture vertically wavy. Click toward the top for shorter " -"waves, the bottom for taller waves, the left for small waves, and the right " -"for long waves." -msgstr "" -"Smelltu til að búa til lóðréttar bylgjur. Smelltu ofarlega til að gera " -"bylgjurnar styttri, neðarlega fyrir stærri bylgjur, til vinstri fyrir litlar " -"bylgjur og til hægri fyrir langar bylgjur." - -#: ../../magic/src/xor.c:93 -msgid "Xor Colors" -msgstr "XOR Litir" - -#: ../../magic/src/xor.c:99 -msgid "Click and drag to draw a XOR effect" -msgstr "Smelltu og dragðu músina til að búa til XOR áhrif." - -#: ../../magic/src/xor.c:101 -msgid "Click to draw a XOR effect on the whole picture" -msgstr "Smelltu til að beita XOR áhrifum á alla myndina." - -#, fuzzy -#~ msgid "" -#~ "Click and drag to draw the blind, move left or right to open or close." -#~ msgstr "Smelltu og hreyfðu músina til að gera myndina þynnri." - -#, fuzzy -#~ msgid "Mosaic square" -#~ msgstr "Töfrar" - -#, fuzzy -#~ msgid "Mosaic hexagon" -#~ msgstr "Töfrar" - -#, fuzzy -#~ msgid "" -#~ "Click and move the mouse to add a mosaic squared effect to parts of your " -#~ "picture." -#~ msgstr "Smelltu til að gera spegilmynd." - -#, fuzzy -#~ msgid "Click to add a mosaic squared effect to your entire picture." -#~ msgstr "Smelltu til að gera spegilmynd." - -#, fuzzy -#~ msgid "" -#~ "Click and move the mouse to add a mosaic hexagonal effect to parts of " -#~ "your picture." -#~ msgstr "Smelltu til að gera spegilmynd." - -#, fuzzy -#~ msgid "Click to add a mosaic hexagonal effect to your entire picture." -#~ msgstr "Smelltu til að gera spegilmynd." - -#, fuzzy -#~ msgid "" -#~ "Click and drag to draw a tornado stalk. Let go to finish the tornado." -#~ msgstr "Smelltu og hreyfðu músina til að gera myndina þynnri." - -#, fuzzy -#~ msgid "" -#~ "Click and move the mouse to give parts of your picture an \"alien\" " -#~ "appearance." -#~ msgstr "Smelltu og hreyfðu músina til að gera myndina óskýrari." - -#, fuzzy -#~ msgid "Click to give your entire picture an \"alien\" appearance." -#~ msgstr "Smelltu og hreyfðu músina til að gera myndina 'Kassa-lega'." - -#, fuzzy -#~ msgid "Click and move the mouse to add noise to the image." -#~ msgstr "Smelltu og hreyfðu músina til að gera myndina óskýrari." - -#, fuzzy -#~ msgid "Click to add noise to the entire image." -#~ msgstr "Smelltu til að gera spegilmynd." - -#, fuzzy -#~ msgid "Click and move the mouse to trace the edges of objects in the image." -#~ msgstr "Smelltu og hreyfðu músina til að gera myndina óskýrari." - -#, fuzzy -#~ msgid "Click and move the mouse to sharpen the image." -#~ msgstr "Smelltu og hreyfðu músina til að gera myndina óskýrari." - -#, fuzzy -#~ msgid "Click to add snow to the entire image." -#~ msgstr "Smelltu til að gera spegilmynd." - -#, fuzzy -#~ msgid "" -#~ "Click and move the mouse around to turn the image into pure color and " -#~ "white regions." -#~ msgstr "Smelltu og hreyfðu músina til að búa til krítarmynd!" - -#, fuzzy -#~ msgid "Click and move the mouse around convert the image to greyscale." -#~ msgstr "Smelltu og hreyfðu músina til að gera myndina óskýrari." - -#, fuzzy -#~ msgid "Click to change the entire picture’s color." -#~ msgstr "Smelltu og hreyfðu músina til að gera myndina 'Kassa-lega'." - -#, fuzzy -#~ msgid "Blur All" -#~ msgstr "Óskýr" - -#~ msgid "Click and move to fade the colors." -#~ msgstr "Smelltu og hreyfðu músina til að þynna út litina!" - -#, fuzzy -#~ msgid "Click and move to darken the colors." -#~ msgstr "Smelltu og hreyfðu músina til að þynna út litina!" - -#~ msgid "Sparkles" -#~ msgstr "Neistar" - -#~ msgid "You now have a blank sheet to draw on!" -#~ msgstr "Nú ertu með autt blað til að teikna á!" - -#, fuzzy -#~ msgid "Start a new picture?" -#~ msgstr "Eyða myndinni?" - -#~ msgid "Click and move to draw sparkles." -#~ msgstr "Smelltu og hreyfðu músina til að búa til neista." - -#~ msgid "Starting a new picture will erase the current one!" -#~ msgstr "Ef þú byrjar á nýrri mynd, eyðist núverandi mynd!" - -#~ msgid "That’s OK!" -#~ msgstr "Það er í lagi!" - -#~ msgid "Never mind!" -#~ msgstr "Hætta við!" - -#~ msgid "Save over the older version of this picture?" -#~ msgstr "Eyða eldri útgáfu af þessarri mynd?" - -#~ msgid "Green!" -#~ msgstr "Grænt!" - -#~ msgid "Fade" -#~ msgstr "Þynna út" - -#~ msgid "Oval" -#~ msgstr "Hringlaga" - -#~ msgid "Diamond" -#~ msgstr "Tígull" - -#~ msgid "A square has four sides, each the same length." -#~ msgstr "Ferningur hefur fjórar hliðar, allar jafn langar." - -#~ msgid "A circle is exactly round." -#~ msgstr "Hringur er nákvæmlega kringlóttur." - -#~ msgid "A diamond is a square, turned around slightly." -#~ msgstr "Tígull er ferhyrndur, svolítið snúinn." - -#~ msgid "Lime!" -#~ msgstr "Gulgrænt!" - -#~ msgid "Fuchsia!" -#~ msgstr "Bleikt!" - -#~ msgid "Silver!" -#~ msgstr "Silfur!" +# Tux Paint Translation to Icelandic. +# Íslensk þýðing á TuxPaint +# Copyright (C) 2002-2017. +# This file is distributed under the same license as the tuxpaint package. +# +# Pjetur G. Hjaltason , 2002, 2003, 2004, 2014. +# Sveinn í Felli , 2015, 2017, 2020. +msgid "" +msgstr "" +"Project-Id-Version: tuxpaint\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2020-08-15 16:42-0700\n" +"PO-Revision-Date: 2020-12-10 14:59+0000\n" +"Last-Translator: Sveinn í Felli \n" +"Language-Team: Icelandic \n" +"Language: is\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Lokalize 2.0\n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" + +#. Response to Black (0, 0, 0) color selected +#: ../colors.h:86 +msgid "Black!" +msgstr "Svart!" + +#. Response to Dark grey (128, 128, 128) color selected +#: ../colors.h:89 +msgid "Dark grey! Some people spell it “dark gray”." +msgstr "Dökkgrátt!" + +#. Response to Light grey (192, 192, 192) color selected +#: ../colors.h:92 +msgid "Light grey! Some people spell it “light gray”." +msgstr "Ljósgrátt!" + +#. Response to White (255, 255, 255) color selected +#: ../colors.h:95 +msgid "White!" +msgstr "Hvítt!" + +#. Response to Red (255, 0, 0) color selected +#: ../colors.h:98 +msgid "Red!" +msgstr "Rautt!" + +#. Response to Orange (255, 128, 0) color selected +#: ../colors.h:101 +msgid "Orange!" +msgstr "Appelsínugult!" + +#. Response to Yellow (255, 255, 0) color selected +#: ../colors.h:104 +msgid "Yellow!" +msgstr "Gult!" + +#. Response to Light green (160, 228, 128) color selected +#: ../colors.h:107 +msgid "Light green!" +msgstr "Ljósgrænt!" + +#. Response to Dark green (33, 148, 70) color selected +#: ../colors.h:110 +msgid "Dark green!" +msgstr "Dökkgrænt!" + +#. Response to "Sky" blue (138, 168, 205) color selected +#: ../colors.h:113 +msgid "Sky blue!" +msgstr "Himinblátt" + +#. Response to Blue (50, 100, 255) color selected +#: ../colors.h:116 +msgid "Blue!" +msgstr "Blátt!" + +#. Response to Lavender (186, 157, 255) color selected +#: ../colors.h:119 +msgid "Lavender!" +msgstr "Lillablátt!" + +#. Response to Purple (128, 0, 128) color selected +#: ../colors.h:122 +msgid "Purple!" +msgstr "Fjólublátt!" + +#. Response to Pink (255, 165, 211) color selected +#: ../colors.h:125 +msgid "Pink!" +msgstr "Bleikt!" + +#. Response to Brown (128, 80, 0) color selected +#: ../colors.h:128 +msgid "Brown!" +msgstr "Brúnt!" + +#. Response to Tan (226, 189, 166) color selected +#: ../colors.h:131 +msgid "Tan!" +msgstr "Ljósbrúnt!" + +#. Response to Beige (247, 228, 219) color selected +#: ../colors.h:134 +msgid "Beige!" +msgstr "Fölbrúnt!" + +#. First, the blacklist. We list font families that can crash Tux Paint +#. via bugs in the SDL_ttf library. We also test fonts to be sure that +#. they have both uppercase and lowercase letters. Note that we do not +#. test for "Aa", because it is OK if uppercase and lowercase are the +#. same (but not nice -- such fonts get a low score later). +#. +#. Most locales leave the blacklist strings alone: "QX" and "qx" +#. (it is less destructive to use the scoring strings instead) +#. +#. Locales that absolutely require all fonts to have some +#. extra characters should use "QX..." and "qx...", where "..." +#. are some characters you absolutely require in all fonts. +#. +#. Locales with absolutely NO use for ASCII may use "..." and "...", +#. where "..." are some characters you absolutely require in +#. all fonts. This would be the case for a locale in which it is +#. impossible for a user to type ASCII letters. +#. +#. Most translators should use scoring instead. +#: ../dirwalk.c:177 +msgid "qx" +msgstr "qx" + +#: ../dirwalk.c:177 +msgid "QX" +msgstr "QX" + +#. TODO: weight specification +#. Now we score fonts to ensure that the best ones will be placed at +#. the top of the list. The user will see them first. This sorting is +#. especially important for users who have scroll buttons disabled. +#. Translators should do whatever is needed to put crummy fonts last. +#. distinct uppercase and lowercase (e.g., 'o' vs. 'O') +#: ../dirwalk.c:202 +msgid "oO" +msgstr "oO" + +#. common punctuation (e.g., '?', '!', '.', ',', etc.) +#: ../dirwalk.c:205 +msgid ",.?!" +msgstr ",.?!" + +#. uncommon punctuation (e.g., '@', '#', '*', etc.) +#: ../dirwalk.c:208 +msgid "`%_@$~#{<(^&*" +msgstr "€`%_@$~#{<(^&*" + +#. digits (e.g., '0', '1' and '7') +#: ../dirwalk.c:211 +msgid "017" +msgstr "017" + +#. distinct circle-like characters (e.g., 'O' (capital oh) vs. '0' (zero)) +#: ../dirwalk.c:214 +msgid "O0" +msgstr "O0" + +#. distinct line-like characters (e.g., 'l' (lowercase elle) vs. '1' (one) vs. 'I' (capital aye)) +#: ../dirwalk.c:217 +msgid "1Il|" +msgstr "1Il|" + +#: ../dirwalk.c:221 +msgid "<1>spare-1a" +msgstr "aa" + +#: ../dirwalk.c:222 +msgid "<1>spare-1b" +msgstr "AA" + +#: ../dirwalk.c:223 +msgid "<9>spare-9a" +msgstr "ðéíóúþæö" + +#: ../dirwalk.c:224 +msgid "<9>spare-9b" +msgstr "ÐÉÍÓÚÞÆÖ" + +#. Congratulations #1 +#: ../great.h:37 +msgid "Great!" +msgstr "Frábært!" + +#. Congratulations #2 +#: ../great.h:40 +msgid "Cool!" +msgstr "Flott!" + +#. Congratulations #3 +#: ../great.h:43 +msgid "Keep it up!" +msgstr "Haltu þessu áfram!" + +#. Congratulations #4 +#: ../great.h:46 +msgid "Good job!" +msgstr "Vel gert!" + +#. Input Method: English mode +#: ../im.c:74 +msgid "English" +msgstr "Enska" + +#. Input Method: Japanese Romanized Hiragana mode +#: ../im.c:77 +msgid "Hiragana" +msgstr "Hiragana" + +#. Input Method: Japanese Romanized Katakana mode +#: ../im.c:80 +msgid "Katakana" +msgstr "Katakana" + +#. Input Method: Korean Hangul 2-Bul mode +#: ../im.c:83 +msgid "Hangul" +msgstr "Hangul" + +#. Input Method: Thai mode +#: ../im.c:86 +msgid "Thai" +msgstr "Tælenska" + +#. Input Method: Traditional Chinese mode +#: ../im.c:89 +msgid "ZH_TW" +msgstr "ZH_TW kínverska" + +#. Square shape tool (4 equally-lengthed sides at right angles) +#: ../shapes.h:234 ../shapes.h:235 +msgid "Square" +msgstr "Ferningur" + +#. Rectangle shape tool (4 sides at right angles) +#: ../shapes.h:238 ../shapes.h:239 +msgid "Rectangle" +msgstr "Rétthyrningur" + +#. Circle shape tool (X radius and Y radius are the same) +#: ../shapes.h:242 ../shapes.h:243 +msgid "Circle" +msgstr "Hringur" + +#. Ellipse shape tool (X radius and Y radius may differ) +#: ../shapes.h:246 ../shapes.h:247 +msgid "Ellipse" +msgstr "Sporbaugur" + +#. Triangle shape tool (3 sides) +#: ../shapes.h:250 ../shapes.h:251 +msgid "Triangle" +msgstr "Þríhyrningur" + +#. Pentagone shape tool (5 sides) +#: ../shapes.h:254 ../shapes.h:255 +msgid "Pentagon" +msgstr "Fimmhyrningur" + +#. Rhombus shape tool (4 sides, not at right angles) +#: ../shapes.h:258 ../shapes.h:259 +msgid "Rhombus" +msgstr "Tígull" + +#. Octagon shape tool (8 sides) +#: ../shapes.h:262 ../shapes.h:263 +msgid "Octagon" +msgstr "Átthyrningur" + +#. Triangle star (3 points star) +#. Rhombus star (4 points star) +#. Pentagone star (5 points star) +#: ../shapes.h:266 ../shapes.h:269 ../shapes.h:272 ../shapes.h:275 +#: ../shapes.h:278 ../shapes.h:281 +msgid "Star" +msgstr "Stjarna" + +#. Description of a square +#: ../shapes.h:289 ../shapes.h:290 +msgid "A square is a rectangle with four equal sides." +msgstr "Ferningur er rétthyrningur með fjórar jafnlangar hliðar." + +#. Description of a rectangle +#: ../shapes.h:293 ../shapes.h:294 +msgid "A rectangle has four sides and four right angles." +msgstr "Rétthyrningur hefur fjórar hliðar og öll horn hornrétt." + +#. Description of a circle +#: ../shapes.h:297 ../shapes.h:298 +msgid "" +"A circle is a curve where all points have the same distance from the center." +msgstr "Hringur er ferill þar sem allir punktar eru í sömu fjarlægð frá miðju." + +#. Description of an ellipse +#: ../shapes.h:301 ../shapes.h:302 +msgid "An ellipse is a stretched circle." +msgstr "Sporbaugur er teygður hringur" + +#. Description of a triangle +#: ../shapes.h:305 ../shapes.h:306 +msgid "A triangle has three sides." +msgstr "Þríhyrningur hefur þrjár hliðar." + +#. Description of a pentagon +#: ../shapes.h:309 ../shapes.h:310 +msgid "A pentagon has five sides." +msgstr "Fimmhyrningur hefur fimm hliðar." + +#. Description of a rhombus +#: ../shapes.h:313 ../shapes.h:314 +msgid "A rhombus has four equal sides, and opposite sides are parallel." +msgstr "" +"Tígull hefur fjórar jafnlangar hliðar, og andstæðar hliðar eru samsíða." + +#. Description of an octagon +#: ../shapes.h:317 ../shapes.h:318 +msgid "An octagon has eight equal sides." +msgstr "Átthyrningur hefur átta hliðar." + +#: ../shapes.h:320 ../shapes.h:321 +msgid "A star with 3 points." +msgstr "Stjarna með 3 arma." + +#: ../shapes.h:322 ../shapes.h:323 +msgid "A star with 4 points." +msgstr "Stjarna með 4 arma." + +#: ../shapes.h:324 ../shapes.h:325 +msgid "A star with 5 points." +msgstr "Stjarna með 5 arma." + +#: ../shapes.h:372 +msgid "Draw shapes from the center." +msgstr "Teikna form frá miðju." + +#: ../shapes.h:373 +msgid "Draw shapes from a corner." +msgstr "Teikna form frá horni." + +#. Title of tool selector (buttons down the left) +#: ../titles.h:56 +msgid "Tools" +msgstr "Áhöld" + +#. Title of color palette (buttons across the bottom) +#: ../titles.h:59 +msgid "Colors" +msgstr "Litir" + +#. Title of brush selector (buttons down the right for paint and line tools) +#: ../titles.h:62 +msgid "Brushes" +msgstr "Penslar" + +# Strokleður is the same in plural as singular +#. Title of eraser selector (buttons down the right for eraser tool) +#: ../titles.h:65 +msgid "Erasers" +msgstr "Strokleður" + +#. Title of stamp selector (buttons down the right for stamps tool) +#: ../titles.h:68 +msgid "Stamps" +msgstr "Stimplar" + +#. Title of shape selector (buttons down the right for shapes tool) +#. Shape creation tool (square, circle, etc.) +#: ../titles.h:71 ../tools.h:71 +msgid "Shapes" +msgstr "Form" + +#. Title of font selector (buttons down the right for text and label tools) +#: ../titles.h:74 +msgid "Letters" +msgstr "Stafir" + +#. Title of magic tool selector (buttons down the right for magic (effect plugin) tool) +#. "Magic" effects tools (blur, flip image, etc.) +#: ../titles.h:77 ../tools.h:83 +msgid "Magic" +msgstr "Galdrar" + +#. Freehand painting tool +#: ../tools.h:62 +msgid "Paint" +msgstr "Teikna" + +#. Stamp tool (aka Rubber Stamps) +#: ../tools.h:65 +msgid "Stamp" +msgstr "Stimpla" + +#. Line drawing tool +#: ../tools.h:68 +msgid "Lines" +msgstr "Línur" + +#. Text tool +#: ../tools.h:74 +msgid "Text" +msgstr "Texti" + +#. Label tool +#: ../tools.h:77 +msgid "Label" +msgstr "Merking" + +#. Fill tool +#: ../tools.h:80 +msgid "Fill" +msgstr "Fylla" + +#. Undo last action +#: ../tools.h:86 +msgid "Undo" +msgstr "Hætta við" + +#. Redo undone action +#: ../tools.h:89 +msgid "Redo" +msgstr "Gera aftur" + +#. Eraser tool +#: ../tools.h:92 +msgid "Eraser" +msgstr "Strokleður" + +#. Start a new picture +#: ../tools.h:95 +msgid "New" +msgstr "Nýtt" + +#. Open a saved picture +#. buttons for the file open dialog +#. Open dialog: 'Open' button, to load the selected picture +#: ../tools.h:98 ../tuxpaint.c:7920 +msgid "Open" +msgstr "Opna" + +#. Save the current picture +#: ../tools.h:101 +msgid "Save" +msgstr "Geyma" + +#. Print the current picture +#: ../tools.h:104 +msgid "Print" +msgstr "Prenta" + +#. Quit/exit Tux Paint application +#: ../tools.h:107 +msgid "Quit" +msgstr "Hætta" + +#. Paint tool instructions +#: ../tools.h:115 +msgid "Pick a color and a brush shape to draw with." +msgstr "Veldu lit og pensil til að teikna með." + +#. Stamp tool instructions +#: ../tools.h:118 +msgid "Pick a picture to stamp around your drawing." +msgstr "Veldu mynd til að nota sem stimpil." + +#. Line tool instructions +#: ../tools.h:121 +msgid "Click to start drawing a line. Let go to complete it." +msgstr "Smelltu til að byrja línu. Slepptu til að enda línuna." + +#: ../tools.h:125 +msgid "" +"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." +msgstr "" +"Veldu form. Smelltu til að byrja að teikna, dragðu músina til, slepptu þegar " +"það er af réttri stærð. Hreyfðu til að snúa forminu, og smelltu til að " +"teikna það." + +#: ../tools.h:129 +msgid "" +"Choose a style of text. Click on your drawing and you can start typing. " +"Press [Enter] or [Tab] to complete the text." +msgstr "" +"Veldu letur. Smelltu á myndina og þú getur byrjað að skrifa. Ýttu á [Enter] " +"eða [Tab] til að ljúka texta." + +#: ../tools.h:133 +msgid "" +"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." +msgstr "" +"Veldu stíl á letur. Smelltu á myndina og þú getur byrjað að skrifa. Ýttu á " +"[Enter] eða [Tab] til að ljúka texta. Með því að nota valhnappinn og smella " +"á texta sem fyrir er, þá getur þú fært textann, breytt honum og breytt " +"útliti og stíl." + +#. Fill tool instructions +#: ../tools.h:136 +msgid "Click in the picture to fill that area with color." +msgstr "Smelltu og hreyfðu músina til að fylla svæðið með lit." + +#. Magic tool instruction +#: ../tools.h:139 +msgid "Pick a magical effect to use on your drawing!" +msgstr "Veldu galdraaðferð sem þú ætlar að nota á myndina!" + +#. Response to 'undo' action +#: ../tools.h:142 +msgid "Undo!" +msgstr "Hætta við!" + +#. Response to 'redo' action +#: ../tools.h:145 +msgid "Redo!" +msgstr "Gera aftur!" + +#. Eraser tool +#: ../tools.h:148 +msgid "Eraser!" +msgstr "Strokleður!" + +#. Response to 'start a new image' action +#: ../tools.h:151 +msgid "Pick a color or picture with which to start a new drawing." +msgstr "Veldu lit eða mynd sem þú ætlar að nota til að búa til nýja mynd." + +#. Response to 'open' action (while file dialog is being constructed) +#: ../tools.h:154 +msgid "Open…" +msgstr "Opna..." + +#. Response to 'save' action +#: ../tools.h:157 +msgid "Your image has been saved!" +msgstr "Búið að geyma myndina þína!" + +#. Response to 'print' action (while printing, or print dialog is being used) +#: ../tools.h:160 +msgid "Printing…" +msgstr "Prenta..." + +#. Response to 'quit' (exit) action +#: ../tools.h:163 +msgid "Bye bye!" +msgstr "Bless!" + +#. Instruction while using Line tool (after click, before release) +#: ../tools.h:167 +msgid "Let go of the button to complete the line." +msgstr "Slepptu hnappnum til að enda línuna." + +#. Instruction while using Shape tool (after first click, before release) +#: ../tools.h:170 +msgid "Hold the button to stretch the shape." +msgstr "Haltu hnappnum niðri til að teygja formið." + +#. Instruction while finishing Shape tool (after release, during rotation step before second click) +#: ../tools.h:173 +msgid "Move the mouse to rotate the shape. Click to draw it." +msgstr "Hreyfðu músina til að snúa forminu. Smelltu til að teikna það." + +#. Notification that 'New' action was aborted (current image would have been lost) +#: ../tools.h:176 +msgid "OK then… Let’s keep drawing this one!" +msgstr "Allt í lagi... Höldum þá áfram með þessa!" + +#. Prompt to confirm user wishes to quit +#: ../tuxpaint.c:2134 +msgid "Do you really want to quit?" +msgstr "Viltu í alvöru hætta?" + +#. Quit prompt positive response (quit) +#: ../tuxpaint.c:2137 +msgid "Yes, I’m done!" +msgstr "Já, ég er búin!" + +#. Quit prompt negative response (don't quit) +#: ../tuxpaint.c:2140 ../tuxpaint.c:2167 +msgid "No, take me back!" +msgstr "Nei, ég vil halda áfram!" + +#. Current picture is not saved; user is quitting +#: ../tuxpaint.c:2144 +msgid "If you quit, you’ll lose your picture! Save it?" +msgstr "Ef þú hættir, tapast myndin! Viltu geyma hana?" + +#: ../tuxpaint.c:2145 ../tuxpaint.c:2150 +msgid "Yes, save it!" +msgstr "Já, geyma hana!" + +#: ../tuxpaint.c:2146 ../tuxpaint.c:2151 +msgid "No, don’t bother saving!" +msgstr "Nei, ekki geyma þetta!" + +#. Current picture is not saved; user is opening another picture +#: ../tuxpaint.c:2149 +msgid "Save your picture first?" +msgstr "Geyma myndina fyrst?" + +#. Error opening picture +#: ../tuxpaint.c:2154 +msgid "Can’t open that picture!" +msgstr "Get ekki opnað þessa mynd!" + +#. Generic dialog dismissal +#: ../tuxpaint.c:2157 ../tuxpaint.c:2162 ../tuxpaint.c:2171 ../tuxpaint.c:2178 +#: ../tuxpaint.c:2187 ../tuxpaint.c:2192 +msgid "OK" +msgstr "Í lagi" + +#. Notification that 'Open' dialog has nothing to show +#: ../tuxpaint.c:2161 +msgid "There are no saved files!" +msgstr "Fann engar geymdar myndir!" + +#. Verification of print action +#: ../tuxpaint.c:2165 +msgid "Print your picture now?" +msgstr "Prenta myndina núna?" + +#: ../tuxpaint.c:2166 +msgid "Yes, print it!" +msgstr "Já, prentaðu hana!" + +#. Confirmation of successful (we hope) printing +#: ../tuxpaint.c:2170 +msgid "Your picture has been printed!" +msgstr "Búið að prenta myndina þína!" + +#. We got an error printing +#: ../tuxpaint.c:2174 +msgid "Sorry! Your picture could not be printed!" +msgstr "Því miður! Það var ekki hægt að prenta myndina þína!" + +#. Notification that it's too soon to print again (--printdelay option is in effect) +#: ../tuxpaint.c:2177 +msgid "You can’t print yet!" +msgstr "Þú getur ekki prentað strax!" + +#. Prompt to confirm erasing a picture in the Open dialog +#: ../tuxpaint.c:2181 +msgid "Erase this picture?" +msgstr "Eyða myndinni?" + +#: ../tuxpaint.c:2182 +msgid "Yes, erase it!" +msgstr "Já, eyða henni!" + +#: ../tuxpaint.c:2183 +msgid "No, don’t erase it!" +msgstr "Nei, ekki eyða henni!" + +#. Reminder that Mouse Button 1 is the button to use in Tux Paint +#: ../tuxpaint.c:2186 +msgid "Remember to use the left mouse button!" +msgstr "Muna eftir að nota vinstri músarhnappinn!" + +#. Confirmation of successful (we hope) image export +#: ../tuxpaint.c:2190 +msgid "Your picture has been exported!" +msgstr "Búið að flytja út myndina þína!" + +#: ../tuxpaint.c:2191 +msgid "Your slideshow GIF has been exported!" +msgstr "Búið að flytja út GIF-skyggnusýninguna þína!" + +#. We got an error exporting +#: ../tuxpaint.c:2195 +msgid "Sorry! Your picture could not be exported!" +msgstr "Því miður! Það var ekki hægt að flytja út myndina þína!" + +#: ../tuxpaint.c:2196 +msgid "Sorry! Your slideshow GIF could not be exported!" +msgstr "Því miður! Það var ekki hægt að flytja út GIF-skyggnusýninguna þína!" + +#. Slideshow instructions +#: ../tuxpaint.c:2200 +msgid "Choose the pictures you want, then click “Play”." +msgstr "Veldu myndirnar sem þú vilt, og smelltu svo á \"Spila\"." + +#. Sound has been muted (silenced) via keyboard shortcut +#: ../tuxpaint.c:2407 +msgid "Sound muted." +msgstr "Slökkt á hljóði." + +#. Sound has been unmuted (unsilenced) via keyboard shortcut +#: ../tuxpaint.c:2412 +msgid "Sound unmuted." +msgstr "Kveikt á hljóði." + +#. Wait while Text tool finishes loading fonts +#: ../tuxpaint.c:3167 +msgid "Please wait…" +msgstr "Bíddu aðeins..." + +#. Open dialog: 'Erase' button, to erase/deleted the selected picture +#: ../tuxpaint.c:7923 +msgid "Erase" +msgstr "Eyða" + +#. Open dialog: 'Slides' button, to switch to slide show mode +#: ../tuxpaint.c:7926 +msgid "Slides" +msgstr "Myndasýning" + +#. Open dialog: 'Export' button, to copy an image to an easily-accessible location +#: ../tuxpaint.c:7929 +msgid "Export" +msgstr "Flytja út" + +#. Open dialog: 'Back' button, to dismiss Open dialog without opening a picture +#: ../tuxpaint.c:7932 +msgid "Back" +msgstr "Til baka" + +#. Slideshow: 'Play' button, to begin a slideshow sequence +#: ../tuxpaint.c:7935 +msgid "Play" +msgstr "Spila" + +#. Slideshow: 'GIF Export' button, to create an animated GIF +#: ../tuxpaint.c:7938 +msgid "GIF Export" +msgstr "GIF-útflutningur" + +#. Slideshow: 'Next' button, to load next slide (image) +#: ../tuxpaint.c:7941 +msgid "Next" +msgstr "Áfram" + +#. Label for 'Letters' buttons (font selector, down the right when the Text tool is being used); used to show the difference between font faces +#: ../tuxpaint.c:8656 +msgid "Aa" +msgstr "Aa" + +#. Admittedly stupid way of determining which keys can be used for +#. positive and negative responses in dialogs (e.g., [Y] (for 'yes') in English) +#: ../tuxpaint.c:12069 +msgid "Yes" +msgstr "Já" + +#: ../tuxpaint.c:12073 +msgid "No" +msgstr "Nei" + +#. Prompt to ask whether user wishes to save over old version of their file +#: ../tuxpaint.c:13190 +msgid "Replace the picture with your changes?" +msgstr "Skipta út eldri myndinni með þeirri nýju?" + +#. Positive response to saving over old version +#. (like a 'File:Save' action in other applications) +#: ../tuxpaint.c:13194 +msgid "Yes, replace the old one!" +msgstr "Já, skipta út þeirri gömlu!" + +#. Negative response to saving over old version (saves a new image) +#. (like a 'File:Save As...' action in other applications) +#: ../tuxpaint.c:13198 +msgid "No, save a new file!" +msgstr "Nei, geyma nýja mynd!" + +#. Let user choose an image: +#. Instructions for 'Open' file dialog +#: ../tuxpaint.c:14454 +msgid "Choose the picture you want, then click “Open”." +msgstr "Veldu teikningu, og smelltu svo á 'Opna'." + +#. None selected? Too dangerous to automatically select all (like we do for slideshow playback). +#. Only 1 selected? No point in saving as GIF. +#. +#: ../tuxpaint.c:15880 +msgid "Select 2 or more drawings to turn into an animated GIF." +msgstr "Veldu 2 eða fleiri teikningar sem á að breyta í GIF-hreyfimynd." + +#: ../tuxpaint.c:23539 +msgid "Select a color from your drawing." +msgstr "Veldu lit úr teikningunni þinni." + +#: ../tuxpaint.c:23551 +msgid "Pick a color." +msgstr "Veldu lit." + +#: ../tuxpaint.desktop.in.h:1 +msgid "Tux Paint" +msgstr "Tux Paint" + +#: ../tuxpaint.desktop.in.h:2 +msgid "Drawing program" +msgstr "Teikniforrit" + +#: ../tuxpaint.desktop.in.h:3 +msgid "A drawing program for children." +msgstr "Teikniforrit fyrir krakka." + +#: ../../magic/src/alien.c:68 +msgid "Color Shift" +msgstr "Litskipti" + +#: ../../magic/src/alien.c:72 +msgid "Click and drag the mouse to change the colors in parts of your picture." +msgstr "Smelltu og dragðu músina til að breyta litunum í hluta myndarinnar." + +#: ../../magic/src/alien.c:73 +msgid "Click to change the colors in your entire picture." +msgstr "Smelltu og hreyfðu músina til að breyta litunum í allri myndinni." + +#: ../../magic/src/blind.c:116 +msgid "Blind" +msgstr "Strimlar" + +#: ../../magic/src/blind.c:123 +msgid "" +"Click towards the edge of your picture to pull window blinds over it. Move " +"perpendicularly to open or close the blinds." +msgstr "" +"Smelltu við jaðar myndarinnar til að draga strimlagluggatjöld fyrir myndina. " +"Færðu músina þvert til að opna og loka gluggatjöldunum." + +#: ../../magic/src/blocks_chalk_drip.c:129 +msgid "Blocks" +msgstr "Blokkir" + +#: ../../magic/src/blocks_chalk_drip.c:131 +msgid "Chalk" +msgstr "Krít" + +#: ../../magic/src/blocks_chalk_drip.c:133 +msgid "Drip" +msgstr "Leka" + +#: ../../magic/src/blocks_chalk_drip.c:142 +msgid "Click and drag the mouse around to make the picture blocky." +msgstr "Smelltu og dragðu músina til að gera myndina alla í blokkum." + +#: ../../magic/src/blocks_chalk_drip.c:144 +msgid "" +"Click and drag the mouse around to turn the picture into a chalk drawing." +msgstr "Smelltu og dragðu músina til að breyta myndinni í krítarmynd!" + +#: ../../magic/src/blocks_chalk_drip.c:146 +msgid "Click and drag the mouse around to make the picture drip." +msgstr "Smelltu og dragðu músina til að láta myndina leka." + +#: ../../magic/src/blur.c:80 +msgid "Blur" +msgstr "Móða" + +#: ../../magic/src/blur.c:84 +msgid "Click and drag the mouse around to blur the image." +msgstr "Smelltu og dragðu músina til að gera myndina óskýrari." + +#: ../../magic/src/blur.c:85 +msgid "Click to blur the entire image." +msgstr "Smelltu til að gera alla myndina óskýrari." + +#. Both are named "Bricks", at the moment: +#: ../../magic/src/bricks.c:120 +msgid "Bricks" +msgstr "Múrsteinar" + +#: ../../magic/src/bricks.c:127 +msgid "Click and drag to draw large bricks." +msgstr "Smelltu og dragðu músina til að búa til stóra múrsteina." + +#: ../../magic/src/bricks.c:129 +msgid "Click and drag to draw small bricks." +msgstr "Smelltu og dragðu músina til að búa til litla múrsteina." + +#: ../../magic/src/calligraphy.c:124 +msgid "Calligraphy" +msgstr "Skrautritun" + +#: ../../magic/src/calligraphy.c:131 +msgid "Click and drag the mouse around to draw in calligraphy." +msgstr "Smelltu og dragðu músina til að teikna eins og skrautskrift." + +#: ../../magic/src/cartoon.c:103 +msgid "Cartoon" +msgstr "Teiknimynd" + +#: ../../magic/src/cartoon.c:109 +msgid "Click and drag the mouse around to turn the picture into a cartoon." +msgstr "Smelltu og dragðu músina til að breyta myndinni í teiknimynd." + +#: ../../magic/src/confetti.c:83 +msgid "Confetti" +msgstr "Pappírsskraut" + +#: ../../magic/src/confetti.c:88 +msgid "Click to throw confetti!" +msgstr "Smelltu til að kasta skrauti!" + +#: ../../magic/src/distortion.c:134 +msgid "Distortion" +msgstr "Afmynda" + +#: ../../magic/src/distortion.c:143 +msgid "Click and drag the mouse to cause distortion in your picture." +msgstr "Smelltu og dragðu músina til að afmynda hluta myndarinnar." + +#: ../../magic/src/emboss.c:101 +msgid "Emboss" +msgstr "Upphleypt" + +#: ../../magic/src/emboss.c:107 +msgid "Click and drag the mouse to emboss the picture." +msgstr "Smelltu og dragðu músina til að upphleypa myndina." + +#: ../../magic/src/fade_darken.c:114 +msgid "Lighten" +msgstr "Lýsa" + +#: ../../magic/src/fade_darken.c:116 +msgid "Darken" +msgstr "Dekkja" + +#: ../../magic/src/fade_darken.c:127 +msgid "Click and drag the mouse to lighten parts of your picture." +msgstr "Smelltu og dragðu músina til að gera hluta myndarinnar bjartari." + +#: ../../magic/src/fade_darken.c:129 +msgid "Click to lighten your entire picture." +msgstr "Smelltu til að gera myndina bjartari" + +#: ../../magic/src/fade_darken.c:134 +msgid "Click and drag the mouse to darken parts of your picture." +msgstr "Smelltu og dragðu músina til að gera hluta myndarinnar dekkri." + +#: ../../magic/src/fade_darken.c:136 +msgid "Click to darken your entire picture." +msgstr "Smelltu til að gera myndina dekkri." + +#: ../../magic/src/fisheye.c:101 +msgid "Fisheye" +msgstr "Fiskauga" + +#: ../../magic/src/fisheye.c:106 +msgid "Click on part of your picture to create a fisheye effect." +msgstr "Smelltu á svæði á myndinni til að framkalla fiskauga-áhrif." + +#: ../../magic/src/flower.c:144 +msgid "Flower" +msgstr "Blóm" + +#: ../../magic/src/flower.c:150 +msgid "Click and drag to draw a flower stalk. Let go to finish the flower." +msgstr "Smelltu og dragðu til að teikna blómstilk. Förum svo og klárum blómið." + +#: ../../magic/src/foam.c:114 +msgid "Foam" +msgstr "Froða" + +#: ../../magic/src/foam.c:120 +msgid "Click and drag the mouse to cover an area with foamy bubbles." +msgstr "Smelltu og dragðu músina yfir svæði til að þekja það með froðu." + +#: ../../magic/src/fold.c:103 +msgid "Fold" +msgstr "Brot" + +#: ../../magic/src/fold.c:108 +msgid "" +"Choose a background color and click to turn the corner of the page over." +msgstr "Veldu bakgrunnslit og smelltu til að snúa við horni myndarinnar" + +#: ../../magic/src/fretwork.c:176 +msgid "Fretwork" +msgstr "Mynstur" + +#: ../../magic/src/fretwork.c:182 +msgid "Click and drag to draw repetitive patterns. " +msgstr "Smelltu og dragðu músina til að búa til endurtekin mynstur. " + +#: ../../magic/src/fretwork.c:184 +msgid "Click to surround your picture with repetitive patterns." +msgstr "" +"Smelltu til að ramma myndina inn myndina þína með endurteknum mynstrum." + +#: ../../magic/src/glasstile.c:104 +msgid "Glass Tile" +msgstr "Glerflísar" + +#: ../../magic/src/glasstile.c:111 +msgid "Click and drag the mouse to put glass tile over your picture." +msgstr "Smelltu og dragðu músina til að draga glerflísar yfir myndina." + +#: ../../magic/src/glasstile.c:113 +msgid "Click to cover your entire picture in glass tiles." +msgstr "Smelltu til að brjóta myndina þína upp í glerflísar." + +#: ../../magic/src/grass.c:107 +msgid "Grass" +msgstr "Gras" + +#: ../../magic/src/grass.c:113 +msgid "Click and drag to draw grass. Don’t forget the dirt!" +msgstr "Smelltu og dragðu músina til að teikna gras. Ekki gleyma drullunni!" + +#: ../../magic/src/halftone.c:35 +msgid "Halftone" +msgstr "Hálftónað" + +#: ../../magic/src/halftone.c:39 +msgid "Click and drag to turn your drawing into a newspaper." +msgstr "Smelltu og dragðu músina til að breyta myndinni þinni í dagblað." + +#: ../../magic/src/kalidescope.c:119 +msgid "Symmetric Left/Right" +msgstr "Samhverft Vinstri/Hægri" + +#: ../../magic/src/kalidescope.c:123 +msgid "Symmetric Up/Down" +msgstr "Samhverft Efri/Neðri" + +#: ../../magic/src/kalidescope.c:127 +msgid "Pattern" +msgstr "Mynstur" + +#: ../../magic/src/kalidescope.c:131 +msgid "Tiles" +msgstr "Flísar" + +#. KAL_BOTH +#: ../../magic/src/kalidescope.c:135 +msgid "Kaleidoscope" +msgstr "Kviksjá" + +#: ../../magic/src/kalidescope.c:146 +msgid "" +"Click and drag the mouse to draw with two brushes that are symmetric across " +"the left and right of your picture." +msgstr "" +"Smelltu og dragðu músina til teikna með tveimur penslum sem eru samhverfir " +"hægra og vinstri meginn á myndinni - um lóðréttan ás." + +#: ../../magic/src/kalidescope.c:152 +msgid "" +"Click and drag the mouse to draw with two brushes that are symmetric across " +"the top and bottom of your picture." +msgstr "" +"Smelltu og dragðu músina til teikna með tveimur penslum sem eru samhverfir " +"um efri og neðri hluta myndarinnar - um láréttan ás." + +#: ../../magic/src/kalidescope.c:156 +msgid "Click and drag the mouse to draw a pattern across the picture." +msgstr "Smelltu og dragðu músina til að draga mynstur yfir myndina." + +#: ../../magic/src/kalidescope.c:160 +msgid "" +"Click and drag the mouse to draw a pattern that is symmetric across the " +"picture." +msgstr "Smelltu og dragðu músina til teikna samhverft mynstur á myndina." + +#. KAL_BOTH +#: ../../magic/src/kalidescope.c:164 +msgid "" +"Click and drag the mouse to draw with symmetric brushes (a kaleidoscope)." +msgstr "" +"Smelltu og dragðu músina til að teikna með samhverfum penslum (kviksjá)." + +#: ../../magic/src/light.c:103 +msgid "Light" +msgstr "Ljós" + +#: ../../magic/src/light.c:109 +msgid "Click and drag to draw a beam of light on your picture." +msgstr "Smelltu og dragðu til að teikna ljósgeisla á myndina þína." + +#: ../../magic/src/metalpaint.c:98 +msgid "Metal Paint" +msgstr "Málm-áferð" + +#: ../../magic/src/metalpaint.c:105 +msgid "Click and drag the mouse to paint with a metallic color." +msgstr "Smelltu og dragðu músina til að teikna með málmáferð." + +#: ../../magic/src/mirror_flip.c:110 +msgid "Mirror" +msgstr "Spegla" + +#: ../../magic/src/mirror_flip.c:112 +msgid "Flip" +msgstr "Fletta" + +#: ../../magic/src/mirror_flip.c:121 +msgid "Click to make a mirror image." +msgstr "Smelltu til að gera spegilmynd." + +#: ../../magic/src/mirror_flip.c:123 +msgid "Click to flip the picture upside-down." +msgstr "Smelltu til að setja myndina á hvolf." + +#: ../../magic/src/mosaic.c:96 +msgid "Mosaic" +msgstr "Tígulsteinar" + +#: ../../magic/src/mosaic.c:100 +msgid "" +"Click and drag the mouse to add a mosaic effect to parts of your picture." +msgstr "" +"Smelltu og dragðu músina til að bæta við tígulsteina-áhrifum á hluta " +"myndarinnar." + +#: ../../magic/src/mosaic.c:101 +msgid "Click to add a mosaic effect to your entire picture." +msgstr "Smelltu til að bæta við tígulsteina-áhrifum á myndina þína." + +#: ../../magic/src/mosaic_shaped.c:132 +msgid "Square Mosaic" +msgstr "Ferningslaga tígulsteinn" + +#: ../../magic/src/mosaic_shaped.c:133 +msgid "Hexagon Mosaic" +msgstr "Sexhyrndur tígulsteinn" + +#: ../../magic/src/mosaic_shaped.c:134 +msgid "Irregular Mosaic" +msgstr "Óreglulegur tígulsteinn" + +#: ../../magic/src/mosaic_shaped.c:140 +msgid "" +"Click and drag the mouse to add a square mosaic to parts of your picture." +msgstr "" +"Smelltu og dragðu músina til að bæta við ferhyrndum mósaík-áhrifum á myndina." + +#: ../../magic/src/mosaic_shaped.c:141 +msgid "Click to add a square mosaic to your entire picture." +msgstr "" +"Smelltu og hreyfðu músina til að bæta við ferhyrndum tígulsteina-áhrifum á " +"alla myndina þína." + +#: ../../magic/src/mosaic_shaped.c:145 +msgid "" +"Click and drag the mouse to add a hexagonal mosaic to parts of your picture." +msgstr "" +"Smelltu og dragðu músina til að bæta við sexhyrndum tígulsteina-áhrifum á " +"myndina." + +#: ../../magic/src/mosaic_shaped.c:146 +msgid "Click to add a hexagonal mosaic to your entire picture." +msgstr "" +"Smelltu til að bæta við sexhyrndum tígulsteina-áhrifum á alla myndina þína." + +#: ../../magic/src/mosaic_shaped.c:150 +msgid "" +"Click and drag the mouse to add an irregular mosaic to parts of your picture." +msgstr "" +"Smelltu og dragðu músina til að bæta við óreglulegum tígulsteina-áhrifum á " +"hluta myndarinnar." + +#: ../../magic/src/mosaic_shaped.c:151 +msgid "Click to add an irregular mosaic to your entire picture." +msgstr "" +"Smelltu til að bæta við óreglulegum tígulsteina-áhrifum á myndina þína." + +#: ../../magic/src/negative.c:94 +msgid "Negative" +msgstr "Andhverfa" + +#: ../../magic/src/negative.c:101 +msgid "Click and drag the mouse around to make your painting negative." +msgstr "Smelltu og dragðu músina til að andhverfa litum myndarinnar." + +#: ../../magic/src/negative.c:103 +msgid "Click to turn your painting into its negative." +msgstr "Smelltu til að andhverfa litum myndarinnar." + +#: ../../magic/src/noise.c:66 +msgid "Noise" +msgstr "Suð" + +#: ../../magic/src/noise.c:70 +msgid "Click and drag the mouse to add noise to parts of your picture." +msgstr "Smelltu og dragðu músina til bæta við truflunum í myndina." + +#: ../../magic/src/noise.c:71 +msgid "Click to add noise to your entire picture." +msgstr "Smelltu til bæta við óreglu í alla myndina." + +#: ../../magic/src/perspective.c:147 +msgid "Perspective" +msgstr "Sjónarhorn" + +#: ../../magic/src/perspective.c:148 +msgid "Zoom" +msgstr "Renna" + +#: ../../magic/src/perspective.c:153 +msgid "Click on the corners and drag where you want to stretch the picture." +msgstr "Smelltu á hornin og dragðu myndina til að teygja hana." + +#: ../../magic/src/perspective.c:156 +msgid "Click and drag up to zoom in or drag down to zoom out the picture." +msgstr "" +"Smelltu og dragðu músina upp til að renna að eða niður til að renna frá " +"myndinni." + +#: ../../magic/src/puzzle.c:103 +msgid "Puzzle" +msgstr "Púsluspil" + +#: ../../magic/src/puzzle.c:110 +msgid "Click the part of your picture where would you like a puzzle." +msgstr "" +"Smelltu á hluta myndarinnar sem þú vilt láta líta út eins og í púsluspili." + +#: ../../magic/src/puzzle.c:111 +msgid "Click to make a puzzle in fullscreen mode." +msgstr "Smelltu til að búa til púsluspil yfir allan skjáinn." + +#: ../../magic/src/rails.c:129 +msgid "Rails" +msgstr "Teinar" + +#: ../../magic/src/rails.c:134 +msgid "Click and drag to draw train track rails on your picture." +msgstr "" +"Smelltu og dragðu músina til að teikna járnbrautarteina á myndina þína." + +#: ../../magic/src/rainbow.c:133 +msgid "Rainbow" +msgstr "Regnbogi" + +#: ../../magic/src/rainbow.c:139 +msgid "You can draw in rainbow colors!" +msgstr "Þú getur teiknað með regnboga-litum!" + +#: ../../magic/src/rain.c:68 +msgid "Rain" +msgstr "Regn" + +#: ../../magic/src/rain.c:72 +msgid "Click to place a rain drop onto your picture." +msgstr "Smelltu til að setja regndropa á myndina þína." + +#: ../../magic/src/rain.c:73 +msgid "Click to cover your picture with rain drops." +msgstr "Smelltu til að setja regndropa á alla myndina þína." + +#: ../../magic/src/realrainbow.c:98 +msgid "Real Rainbow" +msgstr "Raunverulegur regnbogi" + +#: ../../magic/src/realrainbow.c:100 +msgid "ROYGBIV Rainbow" +msgstr "RAGGBLF-regnbogi" + +#: ../../magic/src/realrainbow.c:108 +msgid "" +"Click where you want your rainbow to start, drag to where you want it to " +"end, and then let go to draw a rainbow." +msgstr "" +"Smelltu þar sem þú vilt að regnboginn byrji, dragðu þangað sem þú vilt að " +"regnboginn endi, og slepptu músahnappnum til að teikna regnboga." + +#: ../../magic/src/ripples.c:102 +msgid "Ripples" +msgstr "Gárur" + +#: ../../magic/src/ripples.c:108 +msgid "Click to make ripples appear over your picture." +msgstr "Smelltu til að gera gárur á myndina þína." + +#: ../../magic/src/rosette.c:115 +msgid "Rosette" +msgstr "Rósetta" + +#: ../../magic/src/rosette.c:117 +msgid "Picasso" +msgstr "Picasso" + +#: ../../magic/src/rosette.c:123 +msgid "Click and start drawing your rosette." +msgstr "Smelltu og byrjaðu að teikna rósettuna þína." + +#: ../../magic/src/rosette.c:125 +msgid "You can draw just like Picasso!" +msgstr "Þú getur teiknað eins og Picasso!" + +#: ../../magic/src/sharpen.c:76 +msgid "Edges" +msgstr "Jaðrar" + +#: ../../magic/src/sharpen.c:77 +msgid "Sharpen" +msgstr "Skerpa" + +#: ../../magic/src/sharpen.c:78 +msgid "Silhouette" +msgstr "Skuggamynd" + +#: ../../magic/src/sharpen.c:82 +msgid "Click and drag the mouse to trace edges in parts of your picture." +msgstr "" +"Smelltu og dragðu músina til að draga eftir jöðrum í hluta myndarinnar." + +#: ../../magic/src/sharpen.c:83 +msgid "Click to trace edges in your entire picture." +msgstr "Smelltu til að teikna í jaðra á allri myndinni þinni." + +#: ../../magic/src/sharpen.c:84 +msgid "Click and drag the mouse to sharpen parts of your picture." +msgstr "Smelltu og dragðu músina til að skerpa hluta myndarinnar þinnar." + +#: ../../magic/src/sharpen.c:85 +msgid "Click to sharpen the entire picture." +msgstr "Smelltu til að skerpa alla myndina." + +#: ../../magic/src/sharpen.c:86 +msgid "Click and drag the mouse to create a black and white silhouette." +msgstr "Smelltu og dragðu músina til að gera svart-hvítar skuggamyndir." + +#: ../../magic/src/sharpen.c:87 +msgid "Click to create a black and white silhouette of your entire picture." +msgstr "Smelltu til að gera alla myndina að skuggamynd." + +#: ../../magic/src/shift.c:106 +msgid "Shift" +msgstr "Hliðra" + +#: ../../magic/src/shift.c:112 +msgid "Click and drag to shift your picture around on the canvas." +msgstr "Smelltu og dragðu músina til að færa myndina til á bakgrunninum." + +#: ../../magic/src/smudge.c:102 +msgid "Smudge" +msgstr "Fingramálun" + +#. if (which == 1) +#: ../../magic/src/smudge.c:104 +msgid "Wet Paint" +msgstr "Blaut málning" + +#: ../../magic/src/smudge.c:111 +msgid "Click and drag the mouse around to smudge the picture." +msgstr "Smelltu og dragðu músina til að káma myndina." + +#. if (which == 1) +#: ../../magic/src/smudge.c:113 +msgid "Click and drag the mouse around to draw with wet, smudgy paint." +msgstr "" +"Smelltu og dragðu músina til að líkja eftir málun með blautri málningu." + +#: ../../magic/src/snow.c:71 +msgid "Snow Ball" +msgstr "Snjóbolti" + +#: ../../magic/src/snow.c:72 +msgid "Snow Flake" +msgstr "Snjókorn" + +#: ../../magic/src/snow.c:76 +msgid "Click to add snow balls to your picture." +msgstr "Smelltu til bæta snjóboltum við myndina þína." + +#: ../../magic/src/snow.c:77 +msgid "Click to add snow flakes to your picture." +msgstr "Smelltu til bæta snjókornum við myndina þína." + +#: ../../magic/src/string.c:129 +msgid "String edges" +msgstr "Streng-jaðrar" + +#: ../../magic/src/string.c:132 +msgid "String corner" +msgstr "Streng-horn" + +#: ../../magic/src/string.c:135 +msgid "String 'V'" +msgstr "Streng-V" + +#: ../../magic/src/string.c:147 +msgid "" +"Click and drag to draw string art. Drag top-bottom to draw less or more " +"lines, left or right to make a bigger hole." +msgstr "" +"Smelltu og dragðu til að teikna strengjalist. Dragðu frá efri hluta myndar " +"og niður til að teikna færri eða fleiri línur, vinstri eða hægri til að gera " +"stærri holu." + +#: ../../magic/src/string.c:150 +msgid "Click and drag to draw arrows made of string art." +msgstr "Smelltu og dragðu til að teikna strengjalistörvar." + +#: ../../magic/src/string.c:153 +msgid "Draw string art arrows with free angles." +msgstr "Teikna strengja-list-örvar með frjálsum hornum." + +#: ../../magic/src/tint.c:74 +msgid "Tint" +msgstr "Litblær" + +#: ../../magic/src/tint.c:75 +msgid "Color & White" +msgstr "Litur+Hvítt" + +#: ../../magic/src/tint.c:79 +msgid "" +"Click and drag the mouse around to change the color of parts of your picture." +msgstr "Smelltu og dragðu músina um til að breyta litum á hluta myndarinnar." + +#: ../../magic/src/tint.c:80 +msgid "Click to change the color of your entire picture." +msgstr "Smelltu til að breyta litum myndarinnar." + +#: ../../magic/src/tint.c:81 +msgid "" +"Click and drag the mouse around to turn parts of your picture into white and " +"a color you choose." +msgstr "" +"Smelltu og dragðu músina um til að breyta hluta af myndinni þinni yfir í " +"hvítt og annan lit sem þú velur." + +#: ../../magic/src/tint.c:82 +msgid "Click to turn your entire picture into white and a color you choose." +msgstr "Smelltu til að breyta myndinni þinni yfir í hvítt og lit sem þú velur." + +#: ../../magic/src/toothpaste.c:68 +msgid "Toothpaste" +msgstr "Tannkrem" + +#: ../../magic/src/toothpaste.c:72 +msgid "Click and drag to squirt toothpaste onto your picture." +msgstr "Smelltu og dragðu músina til að sprauta tannkremi yfir myndina þína." + +#: ../../magic/src/tornado.c:153 +msgid "Tornado" +msgstr "Hvirfilvindur" + +#: ../../magic/src/tornado.c:159 +msgid "Click and drag to draw a tornado funnel on your picture." +msgstr "Smelltu og dragðu músina til að teikna hvirfilvind á myndina þína." + +#: ../../magic/src/tv.c:96 +msgid "TV" +msgstr "Sjónvarp" + +#: ../../magic/src/tv.c:102 +msgid "" +"Click and drag to make parts of your picture look like they are on " +"television." +msgstr "" +"Smelltu og dragðu músina til að láta hluta myndarinnar líta út eins og þeir " +"séu í sjónvarpi." + +#: ../../magic/src/tv.c:105 +msgid "Click to make your picture look like it's on television." +msgstr "Smelltu til að láta myndina líta út eins og hún sé sjónvarpsmynd." + +#: ../../magic/src/waves.c:104 +msgid "Waves" +msgstr "Bylgjur" + +#: ../../magic/src/waves.c:106 +msgid "Wavelets" +msgstr "Smábylgjur" + +#: ../../magic/src/waves.c:115 +msgid "" +"Click to make the picture horizontally wavy. Click toward the top for " +"shorter waves, the bottom for taller waves, the left for small waves, and " +"the right for long waves." +msgstr "" +"Smelltu til að búa til láréttar bylgjur. Smelltu ofarlega til að gera " +"bylgjurnar styttri, neðarlega fyrir stærri bylgjur, til vinstri fyrir litlar " +"bylgjur og til hægri fyrir langar bylgjur." + +#: ../../magic/src/waves.c:118 +msgid "" +"Click to make the picture vertically wavy. Click toward the top for shorter " +"waves, the bottom for taller waves, the left for small waves, and the right " +"for long waves." +msgstr "" +"Smelltu til að búa til lóðréttar bylgjur. Smelltu ofarlega til að gera " +"bylgjurnar styttri, neðarlega fyrir stærri bylgjur, til vinstri fyrir litlar " +"bylgjur og til hægri fyrir langar bylgjur." + +#: ../../magic/src/xor.c:93 +msgid "Xor Colors" +msgstr "XOR Litir" + +#: ../../magic/src/xor.c:99 +msgid "Click and drag to draw a XOR effect" +msgstr "Smelltu og dragðu músina til að búa til XOR áhrif." + +#: ../../magic/src/xor.c:101 +msgid "Click to draw a XOR effect on the whole picture" +msgstr "Smelltu til að beita XOR áhrifum á alla myndina." + +#, fuzzy +#~ msgid "" +#~ "Click and drag to draw the blind, move left or right to open or close." +#~ msgstr "Smelltu og hreyfðu músina til að gera myndina þynnri." + +#, fuzzy +#~ msgid "Mosaic square" +#~ msgstr "Töfrar" + +#, fuzzy +#~ msgid "Mosaic hexagon" +#~ msgstr "Töfrar" + +#, fuzzy +#~ msgid "" +#~ "Click and move the mouse to add a mosaic squared effect to parts of your " +#~ "picture." +#~ msgstr "Smelltu til að gera spegilmynd." + +#, fuzzy +#~ msgid "Click to add a mosaic squared effect to your entire picture." +#~ msgstr "Smelltu til að gera spegilmynd." + +#, fuzzy +#~ msgid "" +#~ "Click and move the mouse to add a mosaic hexagonal effect to parts of " +#~ "your picture." +#~ msgstr "Smelltu til að gera spegilmynd." + +#, fuzzy +#~ msgid "Click to add a mosaic hexagonal effect to your entire picture." +#~ msgstr "Smelltu til að gera spegilmynd." + +#, fuzzy +#~ msgid "" +#~ "Click and drag to draw a tornado stalk. Let go to finish the tornado." +#~ msgstr "Smelltu og hreyfðu músina til að gera myndina þynnri." + +#, fuzzy +#~ msgid "" +#~ "Click and move the mouse to give parts of your picture an \"alien\" " +#~ "appearance." +#~ msgstr "Smelltu og hreyfðu músina til að gera myndina óskýrari." + +#, fuzzy +#~ msgid "Click to give your entire picture an \"alien\" appearance." +#~ msgstr "Smelltu og hreyfðu músina til að gera myndina 'Kassa-lega'." + +#, fuzzy +#~ msgid "Click and move the mouse to add noise to the image." +#~ msgstr "Smelltu og hreyfðu músina til að gera myndina óskýrari." + +#, fuzzy +#~ msgid "Click to add noise to the entire image." +#~ msgstr "Smelltu til að gera spegilmynd." + +#, fuzzy +#~ msgid "Click and move the mouse to trace the edges of objects in the image." +#~ msgstr "Smelltu og hreyfðu músina til að gera myndina óskýrari." + +#, fuzzy +#~ msgid "Click and move the mouse to sharpen the image." +#~ msgstr "Smelltu og hreyfðu músina til að gera myndina óskýrari." + +#, fuzzy +#~ msgid "Click to add snow to the entire image." +#~ msgstr "Smelltu til að gera spegilmynd." + +#, fuzzy +#~ msgid "" +#~ "Click and move the mouse around to turn the image into pure color and " +#~ "white regions." +#~ msgstr "Smelltu og hreyfðu músina til að búa til krítarmynd!" + +#, fuzzy +#~ msgid "Click and move the mouse around convert the image to greyscale." +#~ msgstr "Smelltu og hreyfðu músina til að gera myndina óskýrari." + +#, fuzzy +#~ msgid "Click to change the entire picture’s color." +#~ msgstr "Smelltu og hreyfðu músina til að gera myndina 'Kassa-lega'." + +#, fuzzy +#~ msgid "Blur All" +#~ msgstr "Óskýr" + +#~ msgid "Click and move to fade the colors." +#~ msgstr "Smelltu og hreyfðu músina til að þynna út litina!" + +#, fuzzy +#~ msgid "Click and move to darken the colors." +#~ msgstr "Smelltu og hreyfðu músina til að þynna út litina!" + +#~ msgid "Sparkles" +#~ msgstr "Neistar" + +#~ msgid "You now have a blank sheet to draw on!" +#~ msgstr "Nú ertu með autt blað til að teikna á!" + +#, fuzzy +#~ msgid "Start a new picture?" +#~ msgstr "Eyða myndinni?" + +#~ msgid "Click and move to draw sparkles." +#~ msgstr "Smelltu og hreyfðu músina til að búa til neista." + +#~ msgid "Starting a new picture will erase the current one!" +#~ msgstr "Ef þú byrjar á nýrri mynd, eyðist núverandi mynd!" + +#~ msgid "That’s OK!" +#~ msgstr "Það er í lagi!" + +#~ msgid "Never mind!" +#~ msgstr "Hætta við!" + +#~ msgid "Save over the older version of this picture?" +#~ msgstr "Eyða eldri útgáfu af þessarri mynd?" + +#~ msgid "Green!" +#~ msgstr "Grænt!" + +#~ msgid "Fade" +#~ msgstr "Þynna út" + +#~ msgid "Oval" +#~ msgstr "Hringlaga" + +#~ msgid "Diamond" +#~ msgstr "Tígull" + +#~ msgid "A square has four sides, each the same length." +#~ msgstr "Ferningur hefur fjórar hliðar, allar jafn langar." + +#~ msgid "A circle is exactly round." +#~ msgstr "Hringur er nákvæmlega kringlóttur." + +#~ msgid "A diamond is a square, turned around slightly." +#~ msgstr "Tígull er ferhyrndur, svolítið snúinn." + +#~ msgid "Lime!" +#~ msgstr "Gulgrænt!" + +#~ msgid "Fuchsia!" +#~ msgstr "Bleikt!" + +#~ msgid "Silver!" +#~ msgstr "Silfur!" + \ No newline at end of file