Fix to remove the blinking text cursor. I may have missed some places.
This commit is contained in:
parent
27f71ab1cc
commit
c401d9ff3c
1 changed files with 43 additions and 15 deletions
|
|
@ -2296,6 +2296,8 @@ static unsigned int texttool_len;
|
||||||
|
|
||||||
static int tool_avail[NUM_TOOLS], tool_avail_bak[NUM_TOOLS];
|
static int tool_avail[NUM_TOOLS], tool_avail_bak[NUM_TOOLS];
|
||||||
|
|
||||||
|
static Uint32 cur_toggle_count;
|
||||||
|
|
||||||
typedef struct edge_type {
|
typedef struct edge_type {
|
||||||
int y_upper;
|
int y_upper;
|
||||||
float x_intersect, dx_per_scan;
|
float x_intersect, dx_per_scan;
|
||||||
|
|
@ -2376,6 +2378,8 @@ static void render_brush(void);
|
||||||
static void playsound(int chan, int s, int override);
|
static void playsound(int chan, int s, int override);
|
||||||
static void line_xor(int x1, int y1, int x2, int y2);
|
static void line_xor(int x1, int y1, int x2, int y2);
|
||||||
static void rect_xor(int x1, int y1, int x2, int y2);
|
static void rect_xor(int x1, int y1, int x2, int y2);
|
||||||
|
static void draw_blinking_cursor(void);
|
||||||
|
static void hide_blinking_cursor(void);
|
||||||
|
|
||||||
#ifdef LOW_QUALITY_STAMP_OUTLINE
|
#ifdef LOW_QUALITY_STAMP_OUTLINE
|
||||||
#define stamp_xor(x,y) rect_xor( \
|
#define stamp_xor(x,y) rect_xor( \
|
||||||
|
|
@ -2875,7 +2879,7 @@ static void mainloop(void)
|
||||||
shape_tool_mode = SHAPE_TOOL_MODE_DONE;
|
shape_tool_mode = SHAPE_TOOL_MODE_DONE;
|
||||||
button_down = 0;
|
button_down = 0;
|
||||||
last_print_time = -print_delay;
|
last_print_time = -print_delay;
|
||||||
last_cursor_blink = 0;
|
last_cursor_blink = cur_toggle_count = 0;
|
||||||
texttool_len = 0;
|
texttool_len = 0;
|
||||||
scrolling = 0;
|
scrolling = 0;
|
||||||
scrolltimer = 0;
|
scrolltimer = 0;
|
||||||
|
|
@ -2950,6 +2954,7 @@ static void mainloop(void)
|
||||||
|
|
||||||
if (tool_avail[TOOL_UNDO])
|
if (tool_avail[TOOL_UNDO])
|
||||||
{
|
{
|
||||||
|
hide_blinking_cursor();
|
||||||
if (cur_undo == newest_undo)
|
if (cur_undo == newest_undo)
|
||||||
{
|
{
|
||||||
rec_undo_buffer();
|
rec_undo_buffer();
|
||||||
|
|
@ -2966,6 +2971,7 @@ static void mainloop(void)
|
||||||
|
|
||||||
if (tool_avail[TOOL_REDO])
|
if (tool_avail[TOOL_REDO])
|
||||||
{
|
{
|
||||||
|
hide_blinking_cursor();
|
||||||
do_redo();
|
do_redo();
|
||||||
update_screen_rect(&r_tools);
|
update_screen_rect(&r_tools);
|
||||||
shape_tool_mode = SHAPE_TOOL_MODE_DONE;
|
shape_tool_mode = SHAPE_TOOL_MODE_DONE;
|
||||||
|
|
@ -3010,6 +3016,7 @@ static void mainloop(void)
|
||||||
{
|
{
|
||||||
/* Ctrl-N - New */
|
/* Ctrl-N - New */
|
||||||
|
|
||||||
|
hide_blinking_cursor();
|
||||||
if (do_prompt_snd(PROMPT_NEW_TXT,
|
if (do_prompt_snd(PROMPT_NEW_TXT,
|
||||||
PROMPT_NEW_YES,
|
PROMPT_NEW_YES,
|
||||||
PROMPT_NEW_NO,
|
PROMPT_NEW_NO,
|
||||||
|
|
@ -3052,6 +3059,7 @@ static void mainloop(void)
|
||||||
{
|
{
|
||||||
/* Ctrl-S - Save */
|
/* Ctrl-S - Save */
|
||||||
|
|
||||||
|
hide_blinking_cursor();
|
||||||
if (do_save())
|
if (do_save())
|
||||||
{
|
{
|
||||||
/* Only think it's been saved if it HAS been saved :^) */
|
/* Only think it's been saved if it HAS been saved :^) */
|
||||||
|
|
@ -3081,19 +3089,21 @@ static void mainloop(void)
|
||||||
|
|
||||||
if (key_down == SDLK_BACKSPACE)
|
if (key_down == SDLK_BACKSPACE)
|
||||||
{
|
{
|
||||||
|
hide_blinking_cursor();
|
||||||
if (texttool_len > 0)
|
if (texttool_len > 0)
|
||||||
{
|
{
|
||||||
texttool_len--;
|
texttool_len--;
|
||||||
texttool_str[texttool_len] = 0;
|
texttool_str[texttool_len] = 0;
|
||||||
playsound(0, SND_KEYCLICK, 0);
|
playsound(0, SND_KEYCLICK, 0);
|
||||||
|
|
||||||
do_render_cur_text(0);
|
do_render_cur_text(0);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else if (key_down == SDLK_RETURN)
|
else if (key_down == SDLK_RETURN)
|
||||||
{
|
{
|
||||||
int font_height;
|
int font_height;
|
||||||
|
|
||||||
|
hide_blinking_cursor();
|
||||||
if (texttool_len > 0)
|
if (texttool_len > 0)
|
||||||
{
|
{
|
||||||
rec_undo_buffer();
|
rec_undo_buffer();
|
||||||
|
|
@ -3168,6 +3178,7 @@ static void mainloop(void)
|
||||||
{
|
{
|
||||||
/* Pop up an informative animation: */
|
/* Pop up an informative animation: */
|
||||||
|
|
||||||
|
hide_blinking_cursor();
|
||||||
do_prompt_image_flash(PROMPT_TIP_LEFTCLICK_TXT,
|
do_prompt_image_flash(PROMPT_TIP_LEFTCLICK_TXT,
|
||||||
PROMPT_TIP_LEFTCLICK_YES,
|
PROMPT_TIP_LEFTCLICK_YES,
|
||||||
"",
|
"",
|
||||||
|
|
@ -3192,11 +3203,11 @@ static void mainloop(void)
|
||||||
|
|
||||||
/* Render any current text: */
|
/* Render any current text: */
|
||||||
|
|
||||||
if (cur_tool == TOOL_TEXT && which != TOOL_TEXT &&
|
if (cur_tool == TOOL_TEXT && which != TOOL_TEXT)
|
||||||
texttool_len > 0)
|
|
||||||
{
|
{
|
||||||
if (cursor_x != -1 && cursor_y != -1)
|
if (cursor_x != -1 && cursor_y != -1)
|
||||||
{
|
{
|
||||||
|
hide_blinking_cursor();
|
||||||
if (texttool_len > 0)
|
if (texttool_len > 0)
|
||||||
{
|
{
|
||||||
rec_undo_buffer();
|
rec_undo_buffer();
|
||||||
|
|
@ -4621,20 +4632,34 @@ static void mainloop(void)
|
||||||
cur_cursor_blink > last_cursor_blink + CURSOR_BLINK_SPEED)
|
cur_cursor_blink > last_cursor_blink + CURSOR_BLINK_SPEED)
|
||||||
{
|
{
|
||||||
last_cursor_blink = SDL_GetTicks();
|
last_cursor_blink = SDL_GetTicks();
|
||||||
|
draw_blinking_cursor();
|
||||||
line_xor(cursor_x + cursor_textwidth, cursor_y,
|
|
||||||
cursor_x + cursor_textwidth,
|
|
||||||
cursor_y + TTF_FontHeight(getfonthandle(cur_font)));
|
|
||||||
|
|
||||||
update_screen(cursor_x + r_canvas.x + cursor_textwidth,
|
|
||||||
cursor_y + r_canvas.y,
|
|
||||||
cursor_x + r_canvas.x + cursor_textwidth,
|
|
||||||
cursor_y + r_canvas.y + TTF_FontHeight(getfonthandle(cur_font)));
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
while (!done);
|
while (!done);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* Draw using the text entry cursor/caret: */
|
||||||
|
static void hide_blinking_cursor(void)
|
||||||
|
{
|
||||||
|
if (cur_toggle_count & 1)
|
||||||
|
{
|
||||||
|
draw_blinking_cursor();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
static void draw_blinking_cursor(void)
|
||||||
|
{
|
||||||
|
cur_toggle_count++;
|
||||||
|
|
||||||
|
line_xor(cursor_x + cursor_textwidth, cursor_y,
|
||||||
|
cursor_x + cursor_textwidth,
|
||||||
|
cursor_y + TTF_FontHeight(getfonthandle(cur_font)));
|
||||||
|
|
||||||
|
update_screen(cursor_x + r_canvas.x + cursor_textwidth,
|
||||||
|
cursor_y + r_canvas.y,
|
||||||
|
cursor_x + r_canvas.x + cursor_textwidth,
|
||||||
|
cursor_y + r_canvas.y + TTF_FontHeight(getfonthandle(cur_font)));
|
||||||
|
}
|
||||||
|
|
||||||
/* Draw using the current brush: */
|
/* Draw using the current brush: */
|
||||||
|
|
||||||
|
|
@ -11081,6 +11106,7 @@ static void disable_avail_tools(void)
|
||||||
{
|
{
|
||||||
int i;
|
int i;
|
||||||
|
|
||||||
|
hide_blinking_cursor();
|
||||||
for (i = 0; i < NUM_TOOLS; i++)
|
for (i = 0; i < NUM_TOOLS; i++)
|
||||||
{
|
{
|
||||||
tool_avail_bak[i] = tool_avail[i];
|
tool_avail_bak[i] = tool_avail[i];
|
||||||
|
|
@ -12267,6 +12293,7 @@ static int do_prompt_image_flash_snd(const char * const text, const char * const
|
||||||
SDL_Surface * img1b;
|
SDL_Surface * img1b;
|
||||||
int free_img1b;
|
int free_img1b;
|
||||||
|
|
||||||
|
hide_blinking_cursor();
|
||||||
|
|
||||||
/* FIXME: Move elsewhere! Or not?! */
|
/* FIXME: Move elsewhere! Or not?! */
|
||||||
|
|
||||||
|
|
@ -15141,7 +15168,8 @@ static void do_render_cur_text(int do_blit)
|
||||||
SDL_Surface * tmp_surf;
|
SDL_Surface * tmp_surf;
|
||||||
SDL_Rect dest, src;
|
SDL_Rect dest, src;
|
||||||
wchar_t * str;
|
wchar_t * str;
|
||||||
|
|
||||||
|
hide_blinking_cursor();
|
||||||
|
|
||||||
/* Keep cursor on the screen! */
|
/* Keep cursor on the screen! */
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue