diff options
author | Campbell Barton <ideasman42@gmail.com> | 2012-03-31 08:24:02 +0400 |
---|---|---|
committer | Campbell Barton <ideasman42@gmail.com> | 2012-03-31 08:24:02 +0400 |
commit | cbf9c1eb48a79bcaef745b6f70d979d542e2a17e (patch) | |
tree | 9cec9e0c6bd66aa1c5020366d2e5d437fb5fbe7c /source/blender/editors/space_text/text_draw.c | |
parent | 21ac9ae461e19fa51c95c0e0a0413878cfd85d09 (diff) |
style cleanup: text editor
Diffstat (limited to 'source/blender/editors/space_text/text_draw.c')
-rw-r--r-- | source/blender/editors/space_text/text_draw.c | 974 |
1 files changed, 487 insertions, 487 deletions
diff --git a/source/blender/editors/space_text/text_draw.c b/source/blender/editors/space_text/text_draw.c index b2259aac035..98560be477d 100644 --- a/source/blender/editors/space_text/text_draw.c +++ b/source/blender/editors/space_text/text_draw.c @@ -83,8 +83,8 @@ static int text_font_draw(SpaceText *UNUSED(st), int x, int y, const char *str) static int text_font_draw_character(SpaceText *st, int x, int y, char c) { char str[2]; - str[0]= c; - str[1]= '\0'; + str[0] = c; + str[1] = '\0'; BLF_position(mono, x, y, 0); BLF_draw(mono, str, 1); @@ -94,10 +94,10 @@ static int text_font_draw_character(SpaceText *st, int x, int y, char c) static int text_font_draw_character_utf8(SpaceText *st, int x, int y, const char *c) { - char str[BLI_UTF8_MAX+1]; + char str[BLI_UTF8_MAX + 1]; size_t len = BLI_str_utf8_size(c); memcpy(str, c, len); - str[len]= '\0'; + str[len] = '\0'; BLF_position(mono, x, y, 0); BLF_draw(mono, str, len); @@ -111,12 +111,12 @@ static void flatten_string_append(FlattenString *fs, const char *c, int accum, i { int i; - if (fs->pos+len > fs->len) { + if (fs->pos + len > fs->len) { char *nbuf; int *naccum; - fs->len*= 2; + fs->len *= 2; - nbuf= MEM_callocN(sizeof(*fs->buf)*fs->len, "fs->buf"); - naccum= MEM_callocN(sizeof(*fs->accum)*fs->len, "fs->accum"); + nbuf = MEM_callocN(sizeof(*fs->buf) * fs->len, "fs->buf"); + naccum = MEM_callocN(sizeof(*fs->accum) * fs->len, "fs->accum"); memcpy(nbuf, fs->buf, fs->pos * sizeof(*fs->buf)); memcpy(naccum, fs->accum, fs->pos * sizeof(*fs->accum)); @@ -126,17 +126,17 @@ static void flatten_string_append(FlattenString *fs, const char *c, int accum, i MEM_freeN(fs->accum); } - fs->buf= nbuf; - fs->accum= naccum; + fs->buf = nbuf; + fs->accum = naccum; } for (i = 0; i < len; i++) { - fs->buf[fs->pos+i]= c[i]; - fs->accum[fs->pos+i]= accum; + fs->buf[fs->pos + i] = c[i]; + fs->accum[fs->pos + i] = accum; } - fs->pos+= len; + fs->pos += len; } int flatten_string(SpaceText *st, FlattenString *fs, const char *in) @@ -144,14 +144,14 @@ int flatten_string(SpaceText *st, FlattenString *fs, const char *in) int r, i, total = 0; memset(fs, 0, sizeof(FlattenString)); - fs->buf= fs->fixedbuf; - fs->accum= fs->fixedaccum; + fs->buf = fs->fixedbuf; + fs->accum = fs->fixedaccum; fs->len = sizeof(fs->fixedbuf); for (r = 0, i = 0; *in; r++) { - if (*in=='\t') { - i= st->tabnumber - (total%st->tabnumber); - total+= i; + if (*in == '\t') { + i = st->tabnumber - (total % st->tabnumber); + total += i; while (i--) flatten_string_append(fs, " ", r, 1); @@ -159,7 +159,7 @@ int flatten_string(SpaceText *st, FlattenString *fs, const char *in) in++; } else { - size_t len= BLI_str_utf8_size(in); + size_t len = BLI_str_utf8_size(in); flatten_string_append(fs, in, r, len); in += len; total++; @@ -190,30 +190,30 @@ static int find_builtinfunc(char *string) { int a, i; char builtinfuncs[][9] = {"and", "as", "assert", "break", "class", "continue", "def", - "del", "elif", "else", "except", "exec", "finally", - "for", "from", "global", "if", "import", "in", - "is", "lambda", "not", "or", "pass", "print", - "raise", "return", "try", "while", "yield", "with"}; + "del", "elif", "else", "except", "exec", "finally", + "for", "from", "global", "if", "import", "in", + "is", "lambda", "not", "or", "pass", "print", + "raise", "return", "try", "while", "yield", "with"}; - for (a=0; a < sizeof(builtinfuncs)/sizeof(builtinfuncs[0]); a++) { + for (a = 0; a < sizeof(builtinfuncs) / sizeof(builtinfuncs[0]); a++) { i = 0; while (1) { /* If we hit the end of a keyword... (eg. "def") */ - if (builtinfuncs[a][i]=='\0') { + if (builtinfuncs[a][i] == '\0') { /* If we still have identifier chars in the source (eg. "definate") */ if (text_check_identifier(string[i])) - i = -1; /* No match */ + i = -1; /* No match */ break; /* Next keyword if no match, otherwise we're done */ - /* If chars mismatch, move on to next keyword */ + /* If chars mismatch, move on to next keyword */ } - else if (string[i]!=builtinfuncs[a][i]) { + else if (string[i] != builtinfuncs[a][i]) { i = -1; break; /* Break inner loop, start next keyword */ } i++; } - if (i>0) break; /* If we have a match, we're done */ + if (i > 0) break; /* If we have a match, we're done */ } return i; } @@ -229,13 +229,13 @@ static int find_specialvar(char *string) { int i = 0; /* Check for "def" */ - if (string[0]=='d' && string[1]=='e' && string[2]=='f') + if (string[0] == 'd' && string[1] == 'e' && string[2] == 'f') i = 3; /* Check for "class" */ - else if (string[0]=='c' && string[1]=='l' && string[2]=='a' && string[3]=='s' && string[4]=='s') + else if (string[0] == 'c' && string[1] == 'l' && string[2] == 'a' && string[3] == 's' && string[4] == 's') i = 5; /* If next source char is an identifier (eg. 'i' in "definate") no match */ - if (i==0 || text_check_identifier(string[i])) + if (i == 0 || text_check_identifier(string[i])) return -1; return i; } @@ -256,16 +256,16 @@ static int find_bool(char *string) { int i = 0; /* Check for "False" */ - if (string[0]=='F' && string[1]=='a' && string[2]=='l' && string[3]=='s' && string[4]=='e') + if (string[0] == 'F' && string[1] == 'a' && string[2] == 'l' && string[3] == 's' && string[4] == 'e') i = 5; /* Check for "True" */ - else if (string[0]=='T' && string[1]=='r' && string[2]=='u' && string[3]=='e') + else if (string[0] == 'T' && string[1] == 'r' && string[2] == 'u' && string[3] == 'e') i = 4; /* Check for "None" */ - else if (string[0]=='N' && string[1]=='o' && string[2]=='n' && string[3]=='e') + else if (string[0] == 'N' && string[1] == 'o' && string[2] == 'n' && string[3] == 'e') i = 4; /* If next source char is an identifier (eg. 'i' in "definate") no match */ - if (i==0 || text_check_identifier(string[i])) + if (i == 0 || text_check_identifier(string[i])) return -1; return i; } @@ -277,12 +277,12 @@ static int text_check_format_len(TextLine *line, unsigned int len) if (line->format) { if (strlen(line->format) < len) { MEM_freeN(line->format); - line->format = MEM_mallocN(len+2, "SyntaxFormat"); + line->format = MEM_mallocN(len + 2, "SyntaxFormat"); if (!line->format) return 0; } } else { - line->format = MEM_mallocN(len+2, "SyntaxFormat"); + line->format = MEM_mallocN(len + 2, "SyntaxFormat"); if (!line->format) return 0; } @@ -311,15 +311,15 @@ static void txt_format_line(SpaceText *st, TextLine *line, int do_next) /* Get continuation from previous line */ if (line->prev && line->prev->format != NULL) { - fmt= line->prev->format; - cont = fmt[strlen(fmt)+1]; /* Just after the null-terminator */ + fmt = line->prev->format; + cont = fmt[strlen(fmt) + 1]; /* Just after the null-terminator */ } else cont = 0; /* Get original continuation from this line */ if (line->format != NULL) { - fmt= line->format; - orig = fmt[strlen(fmt)+1]; /* Just after the null-terminator */ + fmt = line->format; + orig = fmt[strlen(fmt) + 1]; /* Just after the null-terminator */ } else orig = 0xFF; @@ -344,12 +344,12 @@ static void txt_format_line(SpaceText *st, TextLine *line, int do_next) /* Triple strings ("""...""" or '''...''') */ if (cont & TXT_TRISTR) { find = (cont & TXT_DBLQUOTSTR) ? '"' : '\''; - if (*str==find && *(str+1)==find && *(str+2)==find) { + if (*str == find && *(str + 1) == find && *(str + 2) == find) { *fmt = 'l'; fmt++; str++; *fmt = 'l'; fmt++; str++; cont = 0; } - /* Handle other strings */ + /* Handle other strings */ } else { find = (cont & TXT_DBLQUOTSTR) ? '"' : '\''; @@ -369,8 +369,8 @@ static void txt_format_line(SpaceText *st, TextLine *line, int do_next) else if (*str == '"' || *str == '\'') { /* Strings */ find = *str; - cont = (*str== '"') ? TXT_DBLQUOTSTR : TXT_SNGQUOTSTR; - if (*(str+1) == find && *(str+2) == find) { + cont = (*str == '"') ? TXT_DBLQUOTSTR : TXT_SNGQUOTSTR; + if (*(str + 1) == find && *(str + 2) == find) { *fmt = 'l'; fmt++; str++; *fmt = 'l'; fmt++; str++; cont |= TXT_TRISTR; @@ -381,12 +381,12 @@ static void txt_format_line(SpaceText *st, TextLine *line, int do_next) else if (*str == ' ') *fmt = '_'; /* Numbers (digits not part of an identifier and periods followed by digits) */ - else if ((prev != 'q' && text_check_digit(*str)) || (*str == '.' && text_check_digit(*(str+1)))) + else if ((prev != 'q' && text_check_digit(*str)) || (*str == '.' && text_check_digit(*(str + 1)))) *fmt = 'n'; /* Booleans */ - else if (prev != 'q' && (i=find_bool(str)) != -1) - if (i>0) { - while (i>1) { + else if (prev != 'q' && (i = find_bool(str)) != -1) + if (i > 0) { + while (i > 1) { *fmt = 'n'; fmt++; str++; i--; } @@ -407,14 +407,14 @@ static void txt_format_line(SpaceText *st, TextLine *line, int do_next) /* Not ws, a digit, punct, or continuing text. Must be new, check for special words */ else { /* Special vars(v) or built-in keywords(b) */ - if ((i=find_specialvar(str)) != -1) + if ((i = find_specialvar(str)) != -1) prev = 'v'; - else if ((i=find_builtinfunc(str)) != -1) + else if ((i = find_builtinfunc(str)) != -1) prev = 'b'; - else if ((i=find_decorator(str)) != -1) - prev = 'v'; /* could have a new color for this */ - if (i>0) { - while (i>1) { + else if ((i = find_decorator(str)) != -1) + prev = 'v'; /* could have a new color for this */ + if (i > 0) { + while (i > 1) { *fmt = prev; fmt++; str++; i--; } @@ -436,7 +436,7 @@ static void txt_format_line(SpaceText *st, TextLine *line, int do_next) *fmt = cont; /* If continuation has changed and we're allowed, process the next line */ - if (cont!=orig && do_next && line->next) { + if (cont != orig && do_next && line->next) { txt_format_line(st, line->next, do_next); } @@ -451,7 +451,7 @@ static void txt_format_text(SpaceText *st) if (!st->text) return; - for (linep=st->text->lines.first; linep; linep=linep->next) + for (linep = st->text->lines.first; linep; linep = linep->next) txt_format_line(st, linep, 0); } #endif @@ -515,12 +515,12 @@ static void format_draw_color(char formatchar) int wrap_width(SpaceText *st, ARegion *ar) { - int winx= ar->winx - TXT_SCROLL_WIDTH; + int winx = ar->winx - TXT_SCROLL_WIDTH; int x, max; - x= st->showlinenrs ? TXT_OFFSET + TEXTXLOC : TXT_OFFSET; - max= st->cwidth ? (winx-x)/st->cwidth : 0; - return max>8 ? max : 8; + x = st->showlinenrs ? TXT_OFFSET + TEXTXLOC : TXT_OFFSET; + max = st->cwidth ? (winx - x) / st->cwidth : 0; + return max > 8 ? max : 8; } /* Sets (offl, offc) for transforming (line, curs) to its wrapped position */ @@ -531,18 +531,18 @@ void wrap_offset(SpaceText *st, ARegion *ar, TextLine *linein, int cursin, int * int i, j, start, end, max, chop; char ch; - *offl= *offc= 0; + *offl = *offc = 0; if (!st->text) return; if (!st->wordwrap) return; - text= st->text; + text = st->text; /* Move pointer to first visible line (top) */ - linep= text->lines.first; - i= st->top; - while (i>0 && linep) { - int lines= text_get_visible_lines(st, ar, linep->line); + linep = text->lines.first; + i = st->top; + while (i > 0 && linep) { + int lines = text_get_visible_lines(st, ar, linep->line); /* Line before top */ if (linep == linein) { @@ -551,67 +551,67 @@ void wrap_offset(SpaceText *st, ARegion *ar, TextLine *linein, int cursin, int * return; } - if (i-lines<0) { + if (i - lines < 0) { break; } else { - linep= linep->next; - (*offl)+= lines-1; - i-= lines; + linep = linep->next; + (*offl) += lines - 1; + i -= lines; } } - max= wrap_width(st, ar); + max = wrap_width(st, ar); cursin = txt_utf8_offset_to_index(linein->line, cursin); while (linep) { - start= 0; - end= max; - chop= 1; - *offc= 0; - for (i=0, j=0; linep->line[j]; j+=BLI_str_utf8_size(linep->line+j)) { + start = 0; + end = max; + chop = 1; + *offc = 0; + for (i = 0, j = 0; linep->line[j]; j += BLI_str_utf8_size(linep->line + j)) { int chars; /* Mimic replacement of tabs */ - ch= linep->line[j]; - if (ch=='\t') { - chars= st->tabnumber-i%st->tabnumber; - if (linep==linein && i<cursin) cursin += chars-1; - ch= ' '; + ch = linep->line[j]; + if (ch == '\t') { + chars = st->tabnumber - i % st->tabnumber; + if (linep == linein && i < cursin) cursin += chars - 1; + ch = ' '; } else { - chars= 1; + chars = 1; } while (chars--) { - if (i-start>=max) { - if (chop && linep==linein && i >= cursin) { - if (i==cursin) { + if (i - start >= max) { + if (chop && linep == linein && i >= cursin) { + if (i == cursin) { (*offl)++; - *offc -= end-start; + *offc -= end - start; } return; } (*offl)++; - *offc -= end-start; + *offc -= end - start; - start= end; + start = end; end += max; - chop= 1; + chop = 1; } - else if (ch==' ' || ch=='-') { - end = i+1; - chop= 0; - if (linep==linein && i >= cursin) + else if (ch == ' ' || ch == '-') { + end = i + 1; + chop = 0; + if (linep == linein && i >= cursin) return; } i++; } } - if (linep==linein) break; - linep= linep->next; + if (linep == linein) break; + linep = linep->next; } } @@ -621,52 +621,52 @@ void wrap_offset_in_line(SpaceText *st, ARegion *ar, TextLine *linein, int cursi int i, j, start, end, chars, max, chop; char ch; - *offl= *offc= 0; + *offl = *offc = 0; if (!st->text) return; if (!st->wordwrap) return; - max= wrap_width(st, ar); + max = wrap_width(st, ar); - start= 0; - end= max; - chop= 1; - *offc= 0; + start = 0; + end = max; + chop = 1; + *offc = 0; cursin = txt_utf8_offset_to_index(linein->line, cursin); - for (i=0, j=0; linein->line[j]; j += BLI_str_utf8_size(linein->line + j)) { + for (i = 0, j = 0; linein->line[j]; j += BLI_str_utf8_size(linein->line + j)) { /* Mimic replacement of tabs */ - ch= linein->line[j]; - if (ch=='\t') { - chars= st->tabnumber-i%st->tabnumber; - if (i<cursin) cursin += chars-1; - ch= ' '; + ch = linein->line[j]; + if (ch == '\t') { + chars = st->tabnumber - i % st->tabnumber; + if (i < cursin) cursin += chars - 1; + ch = ' '; } else - chars= 1; + chars = 1; while (chars--) { - if (i-start>=max) { + if (i - start >= max) { if (chop && i >= cursin) { - if (i==cursin) { + if (i == cursin) { (*offl)++; - *offc -= end-start; + *offc -= end - start; } return; } (*offl)++; - *offc -= end-start; + *offc -= end - start; - start= end; + start = end; end += max; - chop= 1; + chop = 1; } - else if (ch==' ' || ch=='-') { - end = i+1; - chop= 0; + else if (ch == ' ' || ch == '-') { + end = i + 1; + chop = 0; if (i >= cursin) return; } @@ -677,11 +677,11 @@ void wrap_offset_in_line(SpaceText *st, ARegion *ar, TextLine *linein, int cursi int text_get_char_pos(SpaceText *st, const char *line, int cur) { - int a=0, i; + int a = 0, i; - for (i=0; i<cur && line[i]; i += BLI_str_utf8_size(line + i)) { - if (line[i]=='\t') - a += st->tabnumber-a%st->tabnumber; + for (i = 0; i < cur && line[i]; i += BLI_str_utf8_size(line + i)) { + if (line[i] == '\t') + a += st->tabnumber - a % st->tabnumber; else a++; } @@ -690,9 +690,9 @@ int text_get_char_pos(SpaceText *st, const char *line, int cur) static const char *txt_utf8_get_nth(const char *str, int n) { - int pos= 0; + int pos = 0; while (str[pos] && n--) { - pos+= BLI_str_utf8_size(str + pos); + pos += BLI_str_utf8_size(str + pos); } return str + pos; } @@ -704,49 +704,49 @@ static int text_draw_wrapped(SpaceText *st, const char *str, int x, int y, int w int mi, ma, mstart, mend; /* mem */ flatten_string(st, &fs, str); - str= fs.buf; - max= w/st->cwidth; - if (max<8) max= 8; - basex= x; - lines= 1; + str = fs.buf; + max = w / st->cwidth; + if (max < 8) max = 8; + basex = x; + lines = 1; - start= 0; mstart= 0; - end= max; mend= txt_utf8_get_nth(str, max) - str; + start = 0; mstart = 0; + end = max; mend = txt_utf8_get_nth(str, max) - str; - for (i=0, mi=0; str[mi]; i++, mi+=BLI_str_utf8_size(str+mi)) { - if (i-start >= max) { + for (i = 0, mi = 0; str[mi]; i++, mi += BLI_str_utf8_size(str + mi)) { + if (i - start >= max) { /* skip hidden part of line */ if (skip) { skip--; - start= end; mstart= mend; - end += max; mend= txt_utf8_get_nth(str+mend, max) - str; + start = end; mstart = mend; + end += max; mend = txt_utf8_get_nth(str + mend, max) - str; continue; } /* Draw the visible portion of text on the overshot line */ - for (a=start, ma=mstart; a<end; a++, ma+=BLI_str_utf8_size(str+ma)) { + for (a = start, ma = mstart; a < end; a++, ma += BLI_str_utf8_size(str + ma)) { if (st->showsyntax && format) format_draw_color(format[a]); x += text_font_draw_character_utf8(st, x, y, str + ma); } y -= st->lheight; - x= basex; + x = basex; lines++; - start= end; mstart= mend; - end += max; mend= txt_utf8_get_nth(str+mend, max) - str; + start = end; mstart = mend; + end += max; mend = txt_utf8_get_nth(str + mend, max) - str; - if (y<=0) break; + if (y <= 0) break; } - else if (str[mi]==' ' || str[mi]=='-') { - end = i+1; mend = mi+1; + else if (str[mi] == ' ' || str[mi] == '-') { + end = i + 1; mend = mi + 1; } } /* Draw the remaining text */ - for (a=start, ma=mstart; str[ma] && y > 0; a++, ma+=BLI_str_utf8_size(str+ma)) { + for (a = start, ma = mstart; str[ma] && y > 0; a++, ma += BLI_str_utf8_size(str + ma)) { if (st->showsyntax && format) format_draw_color(format[a]); - x += text_font_draw_character_utf8(st, x, y, str+ma); + x += text_font_draw_character_utf8(st, x, y, str + ma); } flatten_string_free(&fs); @@ -757,25 +757,25 @@ static int text_draw_wrapped(SpaceText *st, const char *str, int x, int y, int w static int text_draw(SpaceText *st, char *str, int cshift, int maxwidth, int draw, int x, int y, const char *format) { FlattenString fs; - int *acc, r=0; + int *acc, r = 0; const char *in; - int w= flatten_string(st, &fs, str); + int w = flatten_string(st, &fs, str); if (w < cshift) { flatten_string_free(&fs); return 0; /* String is shorter than shift */ } - in= txt_utf8_get_nth(fs.buf, cshift); - acc= fs.accum+cshift; - w= w-cshift; + in = txt_utf8_get_nth(fs.buf, cshift); + acc = fs.accum + cshift; + w = w - cshift; if (draw) { int amount = maxwidth ? MIN2(w, maxwidth) : w; if (st->showsyntax && format) { - int a, str_shift= 0; - format = format+cshift; + int a, str_shift = 0; + format = format + cshift; for (a = 0; a < amount; a++) { format_draw_color(format[a]); @@ -787,17 +787,17 @@ static int text_draw(SpaceText *st, char *str, int cshift, int maxwidth, int dra } else { while (w-- && *acc++ < maxwidth) - r+= st->cwidth; + r += st->cwidth; } flatten_string_free(&fs); - if (cshift && r==0) + if (cshift && r == 0) return 0; else if (st->showlinenrs) - return r+TXT_OFFSET+TEXTXLOC; + return r + TXT_OFFSET + TEXTXLOC; else - return r+TXT_OFFSET; + return r + TXT_OFFSET; } /************************ cache utilities *****************************/ @@ -819,36 +819,36 @@ typedef struct DrawCache { static void text_drawcache_init(SpaceText *st) { - DrawCache *drawcache= MEM_callocN(sizeof (DrawCache), "text draw cache"); + DrawCache *drawcache = MEM_callocN(sizeof (DrawCache), "text draw cache"); - drawcache->winx= -1; - drawcache->nlines= BLI_countlist(&st->text->lines); - drawcache->text_id[0]= '\0'; + drawcache->winx = -1; + drawcache->nlines = BLI_countlist(&st->text->lines); + drawcache->text_id[0] = '\0'; - st->drawcache= drawcache; + st->drawcache = drawcache; } static void text_update_drawcache(SpaceText *st, ARegion *ar) { DrawCache *drawcache; - int full_update= 0, nlines= 0; - Text *txt= st->text; + int full_update = 0, nlines = 0; + Text *txt = st->text; if (!st->drawcache) text_drawcache_init(st); text_update_character_width(st); - drawcache= (DrawCache *)st->drawcache; - nlines= drawcache->nlines; + drawcache = (DrawCache *)st->drawcache; + nlines = drawcache->nlines; /* check if full cache update is needed */ - full_update|= drawcache->winx != ar->winx; /* area was resized */ - full_update|= drawcache->wordwrap != st->wordwrap; /* word-wrapping option was toggled */ - full_update|= drawcache->showlinenrs != st->showlinenrs; /* word-wrapping option was toggled */ - full_update|= drawcache->tabnumber != st->tabnumber; /* word-wrapping option was toggled */ - full_update|= drawcache->lheight != st->lheight; /* word-wrapping option was toggled */ - full_update|= drawcache->cwidth != st->cwidth; /* word-wrapping option was toggled */ - full_update|= strncmp(drawcache->text_id, txt->id.name, MAX_ID_NAME); /* text datablock was changed */ + full_update |= drawcache->winx != ar->winx; /* area was resized */ + full_update |= drawcache->wordwrap != st->wordwrap; /* word-wrapping option was toggled */ + full_update |= drawcache->showlinenrs != st->showlinenrs; /* word-wrapping option was toggled */ + full_update |= drawcache->tabnumber != st->tabnumber; /* word-wrapping option was toggled */ + full_update |= drawcache->lheight != st->lheight; /* word-wrapping option was toggled */ + full_update |= drawcache->cwidth != st->cwidth; /* word-wrapping option was toggled */ + full_update |= strncmp(drawcache->text_id, txt->id.name, MAX_ID_NAME); /* text datablock was changed */ if (st->wordwrap) { /* update line heights */ @@ -859,65 +859,65 @@ static void text_update_drawcache(SpaceText *st, ARegion *ar) } if (drawcache->update_flag) { - TextLine *line= st->text->lines.first; - int lineno= 0, size, lines_count; - int *fp= drawcache->line_height, *new_tail, *old_tail; + TextLine *line = st->text->lines.first; + int lineno = 0, size, lines_count; + int *fp = drawcache->line_height, *new_tail, *old_tail; - nlines= BLI_countlist(&txt->lines); - size= sizeof(int)*nlines; + nlines = BLI_countlist(&txt->lines); + size = sizeof(int) * nlines; - if (fp) fp= MEM_reallocN(fp, size); - else fp= MEM_callocN(size, "text drawcache line_height"); + if (fp) fp = MEM_reallocN(fp, size); + else fp = MEM_callocN(size, "text drawcache line_height"); - drawcache->valid_tail= drawcache->valid_head= 0; - old_tail= fp + drawcache->nlines - drawcache->valid_tail; - new_tail= fp + nlines - drawcache->valid_tail; + drawcache->valid_tail = drawcache->valid_head = 0; + old_tail = fp + drawcache->nlines - drawcache->valid_tail; + new_tail = fp + nlines - drawcache->valid_tail; memmove(new_tail, old_tail, drawcache->valid_tail); - drawcache->total_lines= 0; + drawcache->total_lines = 0; if (st->showlinenrs) - st->linenrs_tot= (int)floor(log10((float)nlines)) + 1; + st->linenrs_tot = (int)floor(log10((float)nlines)) + 1; while (line) { if (drawcache->valid_head) { /* we're inside valid head lines */ - lines_count= fp[lineno]; + lines_count = fp[lineno]; drawcache->valid_head--; } else if (lineno > new_tail - fp) { /* we-re inside valid tail lines */ - lines_count= fp[lineno]; + lines_count = fp[lineno]; } else { - lines_count= text_get_visible_lines(st, ar, line->line); + lines_count = text_get_visible_lines(st, ar, line->line); } - fp[lineno]= lines_count; + fp[lineno] = lines_count; - line= line->next; + line = line->next; lineno++; - drawcache->total_lines+= lines_count; + drawcache->total_lines += lines_count; } - drawcache->line_height= fp; + drawcache->line_height = fp; } } else { if (drawcache->line_height) { MEM_freeN(drawcache->line_height); - drawcache->line_height= NULL; + drawcache->line_height = NULL; } if (full_update || drawcache->update_flag) { - nlines= BLI_countlist(&txt->lines); + nlines = BLI_countlist(&txt->lines); if (st->showlinenrs) - st->linenrs_tot= (int)floor(log10((float)nlines)) + 1; + st->linenrs_tot = (int)floor(log10((float)nlines)) + 1; } - drawcache->total_lines= nlines; + drawcache->total_lines = nlines; } - drawcache->nlines= nlines; + drawcache->nlines = nlines; /* store settings */ drawcache->winx = ar->winx; @@ -942,8 +942,8 @@ void text_drawcache_tag_update(SpaceText *st, int full) return; if (st->drawcache) { - DrawCache *drawcache= (DrawCache *)st->drawcache; - Text *txt= st->text; + DrawCache *drawcache = (DrawCache *)st->drawcache; + Text *txt = st->text; if (drawcache->update_flag) { /* happens when tagging update from space listener */ @@ -952,36 +952,36 @@ void text_drawcache_tag_update(SpaceText *st, int full) } if (!full) { - int sellno= BLI_findindex(&txt->lines, txt->sell); - int curlno= BLI_findindex(&txt->lines, txt->curl); + int sellno = BLI_findindex(&txt->lines, txt->sell); + int curlno = BLI_findindex(&txt->lines, txt->curl); if (curlno < sellno) { - drawcache->valid_head= curlno; - drawcache->valid_tail= drawcache->nlines - sellno - 1; + drawcache->valid_head = curlno; + drawcache->valid_tail = drawcache->nlines - sellno - 1; } else { - drawcache->valid_head= sellno; - drawcache->valid_tail= drawcache->nlines - curlno - 1; + drawcache->valid_head = sellno; + drawcache->valid_tail = drawcache->nlines - curlno - 1; } /* quick cache recalculation is also used in delete operator, * which could merge lines which are adjacent to current selection lines * expand recalculate area to this lines */ - if (drawcache->valid_head>0) drawcache->valid_head--; - if (drawcache->valid_tail>0) drawcache->valid_tail--; + if (drawcache->valid_head > 0) drawcache->valid_head--; + if (drawcache->valid_tail > 0) drawcache->valid_tail--; } else { - drawcache->valid_head= 0; - drawcache->valid_tail= 0; + drawcache->valid_head = 0; + drawcache->valid_tail = 0; } - drawcache->update_flag= 1; + drawcache->update_flag = 1; } } void text_free_caches(SpaceText *st) { - DrawCache *drawcache= (DrawCache *)st->drawcache; + DrawCache *drawcache = (DrawCache *)st->drawcache; if (drawcache) { if (drawcache->line_height) @@ -996,7 +996,7 @@ void text_free_caches(SpaceText *st) /* cache should be updated in caller */ static int text_get_visible_lines_no(SpaceText *st, int lineno) { - DrawCache *drawcache= (DrawCache *)st->drawcache; + DrawCache *drawcache = (DrawCache *)st->drawcache; return drawcache->line_height[lineno]; } @@ -1006,27 +1006,27 @@ int text_get_visible_lines(SpaceText *st, ARegion *ar, const char *str) int i, j, start, end, max, lines, chars; char ch; - max= wrap_width(st, ar); - lines= 1; - start= 0; - end= max; - for (i= 0, j= 0; str[j]; j+=BLI_str_utf8_size(str+j)) { + max = wrap_width(st, ar); + lines = 1; + start = 0; + end = max; + for (i = 0, j = 0; str[j]; j += BLI_str_utf8_size(str + j)) { /* Mimic replacement of tabs */ - ch= str[j]; - if (ch=='\t') { - chars= st->tabnumber-i%st->tabnumber; - ch= ' '; + ch = str[j]; + if (ch == '\t') { + chars = st->tabnumber - i % st->tabnumber; + ch = ' '; } - else chars= 1; + else chars = 1; while (chars--) { - if (i-start >= max) { + if (i - start >= max) { lines++; - start= end; + start = end; end += max; } - else if (ch==' ' || ch=='-') { - end= i+1; + else if (ch == ' ' || ch == '-') { + end = i + 1; } i++; @@ -1039,14 +1039,14 @@ int text_get_visible_lines(SpaceText *st, ARegion *ar, const char *str) int text_get_span_wrap(SpaceText *st, ARegion *ar, TextLine *from, TextLine *to) { if (st->wordwrap) { - int ret=0; - TextLine *tmp= from; + int ret = 0; + TextLine *tmp = from; /* Look forwards */ while (tmp) { if (tmp == to) return ret; - ret+= text_get_visible_lines(st, ar, tmp->line); - tmp= tmp->next; + ret += text_get_visible_lines(st, ar, tmp->line); + tmp = tmp->next; } return ret; @@ -1059,7 +1059,7 @@ int text_get_total_lines(SpaceText *st, ARegion *ar) DrawCache *drawcache; text_update_drawcache(st, ar); - drawcache= (DrawCache *)st->drawcache; + drawcache = (DrawCache *)st->drawcache; return drawcache->total_lines; } @@ -1067,32 +1067,32 @@ int text_get_total_lines(SpaceText *st, ARegion *ar) /* Move pointer to first visible line (top) */ static TextLine *first_visible_line(SpaceText *st, ARegion *ar, int *wrap_top) { - Text *text= st->text; - TextLine* pline= text->lines.first; - int i= st->top, lineno= 0; + Text *text = st->text; + TextLine *pline = text->lines.first; + int i = st->top, lineno = 0; text_update_drawcache(st, ar); - if (wrap_top) *wrap_top= 0; + if (wrap_top) *wrap_top = 0; if (st->wordwrap) { - while (i>0 && pline) { - int lines= text_get_visible_lines_no(st, lineno); + while (i > 0 && pline) { + int lines = text_get_visible_lines_no(st, lineno); - if (i-lines<0) { - if (wrap_top) *wrap_top= i; + if (i - lines < 0) { + if (wrap_top) *wrap_top = i; break; } else { - pline= pline->next; - i-= lines; + pline = pline->next; + i -= lines; lineno++; } } } else { - for (i=st->top; pline->next && i>0; i--) - pline= pline->next; + for (i = st->top; pline->next && i > 0; i--) + pline = pline->next; } return pline; @@ -1109,11 +1109,11 @@ static void calc_text_rcts(SpaceText *st, ARegion *ar, rcti *scroll, rcti *back) pix_top_margin = 8; pix_bottom_margin = 4; pix_available = ar->winy - pix_top_margin - pix_bottom_margin; - ltexth= text_get_total_lines(st, ar); + ltexth = text_get_total_lines(st, ar); blank_lines = st->viewlines / 2; /* nicer code: use scroll rect for entire bar */ - back->xmin = ar->winx -18; + back->xmin = ar->winx - 18; back->xmax = ar->winx; back->ymin = 0; back->ymax = ar->winy; @@ -1121,7 +1121,7 @@ static void calc_text_rcts(SpaceText *st, ARegion *ar, rcti *scroll, rcti *back) scroll->xmin = ar->winx - 17; scroll->xmax = ar->winx - 5; scroll->ymin = 4; - scroll->ymax = 4+pix_available; + scroll->ymax = 4 + pix_available; /* when re-sizing a view-port with the bar at the bottom to a greater height more blank lines will be added */ if (ltexth + blank_lines < st->top + st->viewlines) { @@ -1130,32 +1130,32 @@ static void calc_text_rcts(SpaceText *st, ARegion *ar, rcti *scroll, rcti *back) ltexth += blank_lines; - barheight = (ltexth > 0)? (st->viewlines*pix_available)/ltexth: 0; + barheight = (ltexth > 0) ? (st->viewlines * pix_available) / ltexth : 0; pix_bardiff = 0; if (barheight < 20) { pix_bardiff = 20 - barheight; /* take into account the now non-linear sizing of the bar */ barheight = 20; } - barstart = (ltexth > 0)? ((pix_available - pix_bardiff) * st->top)/ltexth: 0; + barstart = (ltexth > 0) ? ((pix_available - pix_bardiff) * st->top) / ltexth : 0; - st->txtbar= *scroll; + st->txtbar = *scroll; st->txtbar.ymax -= barstart; st->txtbar.ymin = st->txtbar.ymax - barheight; CLAMP(st->txtbar.ymin, pix_bottom_margin, ar->winy - pix_top_margin); CLAMP(st->txtbar.ymax, pix_bottom_margin, ar->winy - pix_top_margin); - st->pix_per_line= (pix_available > 0)? (float) ltexth/pix_available: 0; - if (st->pix_per_line < 0.1f) st->pix_per_line=0.1f; + st->pix_per_line = (pix_available > 0) ? (float) ltexth / pix_available : 0; + if (st->pix_per_line < 0.1f) st->pix_per_line = 0.1f; - curl_off= text_get_span_wrap(st, ar, st->text->lines.first, st->text->curl); - sell_off= text_get_span_wrap(st, ar, st->text->lines.first, st->text->sell); + curl_off = text_get_span_wrap(st, ar, st->text->lines.first, st->text->curl); + sell_off = text_get_span_wrap(st, ar, st->text->lines.first, st->text->sell); lhlstart = MIN2(curl_off, sell_off); lhlend = MAX2(curl_off, sell_off); if (ltexth > 0) { - hlstart = (lhlstart * pix_available)/ltexth; - hlend = (lhlend * pix_available)/ltexth; + hlstart = (lhlstart * pix_available) / ltexth; + hlend = (lhlend * pix_available) / ltexth; /* the scrollbar is non-linear sized */ if (pix_bardiff > 0) { @@ -1180,7 +1180,7 @@ static void calc_text_rcts(SpaceText *st, ARegion *ar, rcti *scroll, rcti *back) /* the end of the highlight is in the current viewport */ if (ltexth && st->viewlines && lhlend >= st->top && lhlend <= st->top + st->viewlines) { /* speed the progresion of the end of the highlight through the scrollbar */ - hlend = (((pix_available - pix_bardiff )*lhlend)/ltexth) + (pix_bardiff * (lhlend - st->top)/st->viewlines); + hlend = (((pix_available - pix_bardiff) * lhlend) / ltexth) + (pix_bardiff * (lhlend - st->top) / st->viewlines); } else if (lhlend < st->top && hlend >= barstart - 2 && hlend < barstart + barheight) { /* push hl end up */ @@ -1205,7 +1205,7 @@ static void calc_text_rcts(SpaceText *st, ARegion *ar, rcti *scroll, rcti *back) hlend = hlstart + 2; } - st->txtscroll= *scroll; + st->txtscroll = *scroll; st->txtscroll.ymax = ar->winy - pix_top_margin - hlstart; st->txtscroll.ymin = ar->winy - pix_top_margin - hlend; @@ -1215,23 +1215,23 @@ static void calc_text_rcts(SpaceText *st, ARegion *ar, rcti *scroll, rcti *back) static void draw_textscroll(SpaceText *st, rcti *scroll, rcti *back) { - bTheme *btheme= UI_GetTheme(); - uiWidgetColors wcol= btheme->tui.wcol_scroll; + bTheme *btheme = UI_GetTheme(); + uiWidgetColors wcol = btheme->tui.wcol_scroll; unsigned char col[4]; float rad; UI_ThemeColor(TH_BACK); glRecti(back->xmin, back->ymin, back->xmax, back->ymax); - uiWidgetScrollDraw(&wcol, scroll, &st->txtbar, (st->flags & ST_SCROLL_SELECT)?UI_SCROLL_PRESSED:0); + uiWidgetScrollDraw(&wcol, scroll, &st->txtbar, (st->flags & ST_SCROLL_SELECT) ? UI_SCROLL_PRESSED : 0); uiSetRoundBox(UI_CNR_ALL); - rad= 0.4f*MIN2(st->txtscroll.xmax - st->txtscroll.xmin, st->txtscroll.ymax - st->txtscroll.ymin); + rad = 0.4f * MIN2(st->txtscroll.xmax - st->txtscroll.xmin, st->txtscroll.ymax - st->txtscroll.ymin); UI_GetThemeColor3ubv(TH_HILITE, col); - col[3]= 48; + col[3] = 48; glColor4ubv(col); glEnable(GL_BLEND); - uiRoundBox(st->txtscroll.xmin+1, st->txtscroll.ymin, st->txtscroll.xmax-1, st->txtscroll.ymax, rad); + uiRoundBox(st->txtscroll.xmin + 1, st->txtscroll.ymin, st->txtscroll.xmax - 1, st->txtscroll.ymax, rad); glDisable(GL_BLEND); } @@ -1239,28 +1239,28 @@ static void draw_textscroll(SpaceText *st, rcti *scroll, rcti *back) static void draw_markers(SpaceText *st, ARegion *ar) { - Text *text= st->text; + Text *text = st->text; TextMarker *marker, *next; TextLine *top, *line; int offl, offc, i, x1, x2, y1, y2, x, y; int topi, topy; /* Move pointer to first visible line (top) */ - top= first_visible_line(st, ar, NULL); - topi= BLI_findindex(&text->lines, top); + top = first_visible_line(st, ar, NULL); + topi = BLI_findindex(&text->lines, top); - topy= txt_get_span(text->lines.first, top); + topy = txt_get_span(text->lines.first, top); - for (marker= text->markers.first; marker; marker= next) { - next= marker->next; + for (marker = text->markers.first; marker; marker = next) { + next = marker->next; /* invisible line (before top) */ - if (marker->lineno<topi) continue; + if (marker->lineno < topi) continue; - line= BLI_findlink(&text->lines, marker->lineno); + line = BLI_findlink(&text->lines, marker->lineno); /* Remove broken markers */ - if (marker->end>line->len || marker->start>marker->end) { + if (marker->end > line->len || marker->start > marker->end) { BLI_freelinkN(&text->markers, marker); continue; } @@ -1274,46 +1274,46 @@ static void draw_markers(SpaceText *st, ARegion *ar) x2 = text_get_char_pos(st, line->line, marker->end) - st->left + offc; /* invisible part of line (before top, after last visible line) */ - if (y2 < 0 || y1 > st->top+st->viewlines) continue; + if (y2 < 0 || y1 > st->top + st->viewlines) continue; glColor3ubv(marker->color); - x= st->showlinenrs ? TXT_OFFSET + TEXTXLOC : TXT_OFFSET; - y= ar->winy-3; + x = st->showlinenrs ? TXT_OFFSET + TEXTXLOC : TXT_OFFSET; + y = ar->winy - 3; - if (y1==y2) { - y -= y1*st->lheight; + if (y1 == y2) { + y -= y1 * st->lheight; glBegin(GL_LINE_LOOP); - glVertex2i(x+x2*st->cwidth+1, y); - glVertex2i(x+x1*st->cwidth-2, y); - glVertex2i(x+x1*st->cwidth-2, y-st->lheight); - glVertex2i(x+x2*st->cwidth+1, y-st->lheight); + glVertex2i(x + x2 * st->cwidth + 1, y); + glVertex2i(x + x1 * st->cwidth - 2, y); + glVertex2i(x + x1 * st->cwidth - 2, y - st->lheight); + glVertex2i(x + x2 * st->cwidth + 1, y - st->lheight); glEnd(); } else { - y -= y1*st->lheight; + y -= y1 * st->lheight; glBegin(GL_LINE_STRIP); glVertex2i(ar->winx, y); - glVertex2i(x+x1*st->cwidth-2, y); - glVertex2i(x+x1*st->cwidth-2, y-st->lheight); - glVertex2i(ar->winx, y-st->lheight); + glVertex2i(x + x1 * st->cwidth - 2, y); + glVertex2i(x + x1 * st->cwidth - 2, y - st->lheight); + glVertex2i(ar->winx, y - st->lheight); glEnd(); - y-=st->lheight; + y -= st->lheight; - for (i=y1+1; i<y2; i++) { + for (i = y1 + 1; i < y2; i++) { glBegin(GL_LINES); glVertex2i(x, y); glVertex2i(ar->winx, y); - glVertex2i(x, y-st->lheight); - glVertex2i(ar->winx, y-st->lheight); + glVertex2i(x, y - st->lheight); + glVertex2i(ar->winx, y - st->lheight); glEnd(); - y-=st->lheight; + y -= st->lheight; } glBegin(GL_LINE_STRIP); glVertex2i(x, y); - glVertex2i(x+x2*st->cwidth+1, y); - glVertex2i(x+x2*st->cwidth+1, y-st->lheight); - glVertex2i(x, y-st->lheight); + glVertex2i(x + x2 * st->cwidth + 1, y); + glVertex2i(x + x2 * st->cwidth + 1, y - st->lheight); + glVertex2i(x, y - st->lheight); glEnd(); } } @@ -1324,7 +1324,7 @@ static void draw_markers(SpaceText *st, ARegion *ar) static void draw_documentation(SpaceText *st, ARegion *ar) { TextLine *tmp; - char *docs, buf[DOC_WIDTH+1], *p; + char *docs, buf[DOC_WIDTH + 1], *p; int i, br, lines; int boxw, boxh, l, x, y /* , top */ /* UNUSED */; @@ -1336,67 +1336,67 @@ static void draw_documentation(SpaceText *st, ARegion *ar) if (!docs) return; /* Count the visible lines to the cursor */ - for (tmp=st->text->curl, l=-st->top; tmp; tmp=tmp->prev, l++); - if (l<0) return; + for (tmp = st->text->curl, l = -st->top; tmp; tmp = tmp->prev, l++) ; + if (l < 0) return; if (st->showlinenrs) { - x= st->cwidth*(st->text->curc-st->left) + TXT_OFFSET + TEXTXLOC - 4; + x = st->cwidth * (st->text->curc - st->left) + TXT_OFFSET + TEXTXLOC - 4; } else { - x= st->cwidth*(st->text->curc-st->left) + TXT_OFFSET - 4; + x = st->cwidth * (st->text->curc - st->left) + TXT_OFFSET - 4; } if (texttool_suggest_first()) { - x += SUGG_LIST_WIDTH*st->cwidth + 50; + x += SUGG_LIST_WIDTH * st->cwidth + 50; } - /* top= */ /* UNUSED */ y= ar->winy - st->lheight*l - 2; - boxw= DOC_WIDTH*st->cwidth + 20; - boxh= (DOC_HEIGHT+1)*st->lheight; + /* top= */ /* UNUSED */ y = ar->winy - st->lheight * l - 2; + boxw = DOC_WIDTH * st->cwidth + 20; + boxh = (DOC_HEIGHT + 1) * st->lheight; /* Draw panel */ UI_ThemeColor(TH_BACK); - glRecti(x, y, x+boxw, y-boxh); + glRecti(x, y, x + boxw, y - boxh); UI_ThemeColor(TH_SHADE1); glBegin(GL_LINE_LOOP); glVertex2i(x, y); - glVertex2i(x+boxw, y); - glVertex2i(x+boxw, y-boxh); - glVertex2i(x, y-boxh); + glVertex2i(x + boxw, y); + glVertex2i(x + boxw, y - boxh); + glVertex2i(x, y - boxh); glEnd(); glBegin(GL_LINE_LOOP); - glVertex2i(x+boxw-10, y-7); - glVertex2i(x+boxw-4, y-7); - glVertex2i(x+boxw-7, y-2); + glVertex2i(x + boxw - 10, y - 7); + glVertex2i(x + boxw - 4, y - 7); + glVertex2i(x + boxw - 7, y - 2); glEnd(); glBegin(GL_LINE_LOOP); - glVertex2i(x+boxw-10, y-boxh+7); - glVertex2i(x+boxw-4, y-boxh+7); - glVertex2i(x+boxw-7, y-boxh+2); + glVertex2i(x + boxw - 10, y - boxh + 7); + glVertex2i(x + boxw - 4, y - boxh + 7); + glVertex2i(x + boxw - 7, y - boxh + 2); glEnd(); UI_ThemeColor(TH_TEXT); - i= 0; br= DOC_WIDTH; lines= 0; // XXX -doc_scroll; - for (p=docs; *p; p++) { - if (*p == '\r' && *(++p) != '\n') *(--p)= '\n'; /* Fix line endings */ + i = 0; br = DOC_WIDTH; lines = 0; // XXX -doc_scroll; + for (p = docs; *p; p++) { + if (*p == '\r' && *(++p) != '\n') *(--p) = '\n'; /* Fix line endings */ if (*p == ' ' || *p == '\t') - br= i; + br = i; else if (*p == '\n') { - buf[i]= '\0'; - if (lines>=0) { + buf[i] = '\0'; + if (lines >= 0) { y -= st->lheight; - text_draw(st, buf, 0, 0, 1, x+4, y-3, NULL); + text_draw(st, buf, 0, 0, 1, x + 4, y - 3, NULL); } - i= 0; br= DOC_WIDTH; lines++; + i = 0; br = DOC_WIDTH; lines++; } - buf[i++]= *p; + buf[i++] = *p; if (i == DOC_WIDTH) { /* Reached the width, go to last break and wrap there */ - buf[br]= '\0'; - if (lines>=0) { + buf[br] = '\0'; + if (lines >= 0) { y -= st->lheight; - text_draw(st, buf, 0, 0, 1, x+4, y-3, NULL); + text_draw(st, buf, 0, 0, 1, x + 4, y - 3, NULL); } - p -= i-br-1; /* Rewind pointer to last break */ - i= 0; br= DOC_WIDTH; lines++; + p -= i - br - 1; /* Rewind pointer to last break */ + i = 0; br = DOC_WIDTH; lines++; } if (lines >= DOC_HEIGHT) break; } @@ -1413,8 +1413,8 @@ static void draw_suggestion_list(SpaceText *st, ARegion *ar) { SuggItem *item, *first, *last, *sel; TextLine *tmp; - char str[SUGG_LIST_WIDTH+1]; - int w, boxw=0, boxh, i, l, x, y, b, *top; + char str[SUGG_LIST_WIDTH + 1]; + int w, boxw = 0, boxh, i, l, x, y, b, *top; if (!st || !st->text) return; if (!texttool_text_is_active(st->text)) return; @@ -1429,29 +1429,29 @@ static void draw_suggestion_list(SpaceText *st, ARegion *ar) top = texttool_suggest_top(); /* Count the visible lines to the cursor */ - for (tmp=st->text->curl, l=-st->top; tmp; tmp=tmp->prev, l++); - if (l<0) return; + for (tmp = st->text->curl, l = -st->top; tmp; tmp = tmp->prev, l++) ; + if (l < 0) return; if (st->showlinenrs) { - x = st->cwidth*(st->text->curc-st->left) + TXT_OFFSET + TEXTXLOC - 4; + x = st->cwidth * (st->text->curc - st->left) + TXT_OFFSET + TEXTXLOC - 4; } else { - x = st->cwidth*(st->text->curc-st->left) + TXT_OFFSET - 4; + x = st->cwidth * (st->text->curc - st->left) + TXT_OFFSET - 4; } - y = ar->winy - st->lheight*l - 2; + y = ar->winy - st->lheight * l - 2; - boxw = SUGG_LIST_WIDTH*st->cwidth + 20; - boxh = SUGG_LIST_SIZE*st->lheight + 8; + boxw = SUGG_LIST_WIDTH * st->cwidth + 20; + boxh = SUGG_LIST_SIZE * st->lheight + 8; UI_ThemeColor(TH_SHADE1); - glRecti(x-1, y+1, x+boxw+1, y-boxh-1); + glRecti(x - 1, y + 1, x + boxw + 1, y - boxh - 1); UI_ThemeColor(TH_BACK); - glRecti(x, y, x+boxw, y-boxh); + glRecti(x, y, x + boxw, y - boxh); /* Set the top 'item' of the visible list */ - for (i=0, item=first; i<*top && item->next; i++, item=item->next); + for (i = 0, item = first; i < *top && item->next; i++, item = item->next) ; - for (i=0; i<SUGG_LIST_SIZE && item; i++, item=item->next) { + for (i = 0; i < SUGG_LIST_SIZE && item; i++, item = item->next) { y -= st->lheight; @@ -1461,21 +1461,21 @@ static void draw_suggestion_list(SpaceText *st, ARegion *ar) if (item == sel) { UI_ThemeColor(TH_SHADE2); - glRecti(x+16, y-3, x+16+w, y+st->lheight-3); + glRecti(x + 16, y - 3, x + 16 + w, y + st->lheight - 3); } - b=1; /* b=1 color block, text is default. b=0 no block, color text */ + b = 1; /* b=1 color block, text is default. b=0 no block, color text */ switch (item->type) { - case 'k': UI_ThemeColor(TH_SYNTAX_B); b=0; break; + case 'k': UI_ThemeColor(TH_SYNTAX_B); b = 0; break; case 'm': UI_ThemeColor(TH_TEXT); break; case 'f': UI_ThemeColor(TH_SYNTAX_L); break; case 'v': UI_ThemeColor(TH_SYNTAX_N); break; - case '?': UI_ThemeColor(TH_TEXT); b=0; break; + case '?': UI_ThemeColor(TH_TEXT); b = 0; break; } if (b) { - glRecti(x+8, y+2, x+11, y+5); + glRecti(x + 8, y + 2, x + 11, y + 5); UI_ThemeColor(TH_TEXT); } - text_draw(st, str, 0, 0, 1, x+16, y-1, NULL); + text_draw(st, str, 0, 0, 1, x + 16, y - 1, NULL); if (item == last) break; } @@ -1485,12 +1485,12 @@ static void draw_suggestion_list(SpaceText *st, ARegion *ar) static void draw_cursor(SpaceText *st, ARegion *ar) { - Text *text= st->text; - int vcurl, vcurc, vsell, vselc, hidden=0; + Text *text = st->text; + int vcurl, vcurc, vsell, vselc, hidden = 0; int x, y, w, i; /* Draw the selection */ - if (text->curl!=text->sell || text->curc!=text->selc) { + if (text->curl != text->sell || text->curc != text->selc) { int offl, offc; /* Convert all to view space character coordinates */ wrap_offset(st, ar, text->curl, text->curc, &offl, &offc); @@ -1500,38 +1500,38 @@ static void draw_cursor(SpaceText *st, ARegion *ar) vsell = txt_get_span(text->lines.first, text->sell) - st->top + offl; vselc = text_get_char_pos(st, text->sell->line, text->selc) - st->left + offc; - if (vcurc<0) vcurc=0; - if (vselc<0) vselc=0, hidden=1; + if (vcurc < 0) vcurc = 0; + if (vselc < 0) vselc = 0, hidden = 1; UI_ThemeColor(TH_SHADE2); - x= st->showlinenrs ? TXT_OFFSET + TEXTXLOC : TXT_OFFSET; - y= ar->winy-2; + x = st->showlinenrs ? TXT_OFFSET + TEXTXLOC : TXT_OFFSET; + y = ar->winy - 2; - if (vcurl==vsell) { - y -= vcurl*st->lheight; + if (vcurl == vsell) { + y -= vcurl * st->lheight; if (vcurc < vselc) - glRecti(x+vcurc*st->cwidth-1, y, x+vselc*st->cwidth, y-st->lheight); + glRecti(x + vcurc * st->cwidth - 1, y, x + vselc * st->cwidth, y - st->lheight); else - glRecti(x+vselc*st->cwidth-1, y, x+vcurc*st->cwidth, y-st->lheight); + glRecti(x + vselc * st->cwidth - 1, y, x + vcurc * st->cwidth, y - st->lheight); } else { int froml, fromc, tol, toc; if (vcurl < vsell) { - froml= vcurl; tol= vsell; - fromc= vcurc; toc= vselc; + froml = vcurl; tol = vsell; + fromc = vcurc; toc = vselc; } else { - froml= vsell; tol= vcurl; - fromc= vselc; toc= vcurc; + froml = vsell; tol = vcurl; + fromc = vselc; toc = vcurc; } - y -= froml*st->lheight; - glRecti(x+fromc*st->cwidth-1, y, ar->winx, y-st->lheight); y-=st->lheight; - for (i=froml+1; i<tol; i++) - glRecti(x-4, y, ar->winx, y-st->lheight), y-=st->lheight; + y -= froml * st->lheight; + glRecti(x + fromc * st->cwidth - 1, y, ar->winx, y - st->lheight); y -= st->lheight; + for (i = froml + 1; i < tol; i++) + glRecti(x - 4, y, ar->winx, y - st->lheight), y -= st->lheight; - glRecti(x-4, y, x+toc*st->cwidth, y-st->lheight); y-=st->lheight; + glRecti(x - 4, y, x + toc * st->cwidth, y - st->lheight); y -= st->lheight; } } else { @@ -1540,9 +1540,9 @@ static void draw_cursor(SpaceText *st, ARegion *ar) vsell = txt_get_span(text->lines.first, text->sell) - st->top + offl; vselc = text_get_char_pos(st, text->sell->line, text->selc) - st->left + offc; - if (vselc<0) { - vselc= 0; - hidden= 1; + if (vselc < 0) { + vselc = 0; + hidden = 1; } } @@ -1555,45 +1555,45 @@ static void draw_cursor(SpaceText *st, ARegion *ar) wrap_offset_in_line(st, ar, text->sell, text->selc, &offl, &offc); - y1= ar->winy-2 - (vsell-offl)*st->lheight; - y2= y1-st->lheight*visible_lines+1; + y1 = ar->winy - 2 - (vsell - offl) * st->lheight; + y2 = y1 - st->lheight * visible_lines + 1; } else { - y1= ar->winy-2 - vsell*st->lheight; - y2= y1-st->lheight+1; + y1 = ar->winy - 2 - vsell * st->lheight; + y2 = y1 - st->lheight + 1; } - if (!(y1<0 || y2 > ar->winy)) { /* check we need to draw */ - x1= st->showlinenrs ? TXT_OFFSET + TEXTXLOC : TXT_OFFSET; - x2= x1 + ar->winx; + if (!(y1 < 0 || y2 > ar->winy)) { /* check we need to draw */ + x1 = st->showlinenrs ? TXT_OFFSET + TEXTXLOC : TXT_OFFSET; + x2 = x1 + ar->winx; glColor4ub(255, 255, 255, 32); glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA); glEnable(GL_BLEND); - glRecti(x1-4, y1, x2, y2); + glRecti(x1 - 4, y1, x2, y2); glDisable(GL_BLEND); } } if (!hidden) { /* Draw the cursor itself (we draw the sel. cursor as this is the leading edge) */ - x= st->showlinenrs ? TXT_OFFSET + TEXTXLOC : TXT_OFFSET; - x += vselc*st->cwidth; - y= ar->winy-2 - vsell*st->lheight; + x = st->showlinenrs ? TXT_OFFSET + TEXTXLOC : TXT_OFFSET; + x += vselc * st->cwidth; + y = ar->winy - 2 - vsell * st->lheight; if (st->overwrite) { - char ch= text->sell->line[text->selc]; + char ch = text->sell->line[text->selc]; - w= st->cwidth; - if (ch=='\t') w*= st->tabnumber-(vselc+st->left)%st->tabnumber; + w = st->cwidth; + if (ch == '\t') w *= st->tabnumber - (vselc + st->left) % st->tabnumber; UI_ThemeColor(TH_HILITE); - glRecti(x, y-st->lheight-1, x+w, y-st->lheight+1); + glRecti(x, y - st->lheight - 1, x + w, y - st->lheight + 1); } else { UI_ThemeColor(TH_HILITE); - glRecti(x-1, y, x+1, y-st->lheight); + glRecti(x - 1, y, x + 1, y - st->lheight); } } } @@ -1612,116 +1612,116 @@ static void draw_brackets(SpaceText *st, ARegion *ar) // showsyntax must be on or else the format string will be null if (!text->curl || !st->showsyntax) return; - startl= text->curl; - startc= text->curc; - b= text_check_bracket(startl->line[startc]); - if (b==0 && startc>0) b = text_check_bracket(startl->line[--startc]); - if (b==0) return; - - linep= startl; - c= startc; - fc= txt_utf8_offset_to_index(linep->line, startc); - endl= NULL; - endc= -1; - find= -b; - stack= 0; + startl = text->curl; + startc = text->curc; + b = text_check_bracket(startl->line[startc]); + if (b == 0 && startc > 0) b = text_check_bracket(startl->line[--startc]); + if (b == 0) return; + + linep = startl; + c = startc; + fc = txt_utf8_offset_to_index(linep->line, startc); + endl = NULL; + endc = -1; + find = -b; + stack = 0; /* Don't highlight backets if syntax HL is off or bracket in string or comment. */ if (!linep->format || linep->format[fc] == 'l' || linep->format[fc] == '#') return; - if (b>0) { + if (b > 0) { /* opening bracket, search forward for close */ fc++; - c+= BLI_str_utf8_size(linep->line+c); + c += BLI_str_utf8_size(linep->line + c); while (linep) { - while (c<linep->len) { + while (c < linep->len) { if (linep->format && linep->format[fc] != 'l' && linep->format[fc] != '#') { - b= text_check_bracket(linep->line[c]); - if (b==find) { - if (stack==0) { - endl= linep; - endc= c; + b = text_check_bracket(linep->line[c]); + if (b == find) { + if (stack == 0) { + endl = linep; + endc = c; break; } stack--; } - else if (b==-find) { + else if (b == -find) { stack++; } } fc++; - c+= BLI_str_utf8_size(linep->line+c); + c += BLI_str_utf8_size(linep->line + c); } if (endl) break; - linep= linep->next; - c= 0; - fc= 0; + linep = linep->next; + c = 0; + fc = 0; } } else { /* closing bracket, search backward for open */ fc--; - if (c>0) c -= linep->line+c-BLI_str_prev_char_utf8(linep->line+c); + if (c > 0) c -= linep->line + c - BLI_str_prev_char_utf8(linep->line + c); while (linep) { - while (fc>=0) { + while (fc >= 0) { if (linep->format && linep->format[fc] != 'l' && linep->format[fc] != '#') { - b= text_check_bracket(linep->line[c]); - if (b==find) { - if (stack==0) { - endl= linep; - endc= c; + b = text_check_bracket(linep->line[c]); + if (b == find) { + if (stack == 0) { + endl = linep; + endc = c; break; } stack--; } - else if (b==-find) { + else if (b == -find) { stack++; } } fc--; - if (c>0) c -= linep->line+c-BLI_str_prev_char_utf8(linep->line+c); + if (c > 0) c -= linep->line + c - BLI_str_prev_char_utf8(linep->line + c); } if (endl) break; - linep= linep->prev; + linep = linep->prev; if (linep) { - if (linep->format) fc= strlen(linep->format)-1; - else fc= -1; - if (linep->len) c= BLI_str_prev_char_utf8(linep->line+linep->len)-linep->line; - else fc= -1; + if (linep->format) fc = strlen(linep->format) - 1; + else fc = -1; + if (linep->len) c = BLI_str_prev_char_utf8(linep->line + linep->len) - linep->line; + else fc = -1; } } } - if (!endl || endc==-1) + if (!endl || endc == -1) return; UI_ThemeColor(TH_HILITE); - x= st->showlinenrs ? TXT_OFFSET + TEXTXLOC : TXT_OFFSET; - y= ar->winy - st->lheight; + x = st->showlinenrs ? TXT_OFFSET + TEXTXLOC : TXT_OFFSET; + y = ar->winy - st->lheight; /* draw opening bracket */ - ch= startl->line[startc]; + ch = startl->line[startc]; wrap_offset(st, ar, startl, startc, &offl, &offc); - viewc= text_get_char_pos(st, startl->line, startc) - st->left + offc; + viewc = text_get_char_pos(st, startl->line, startc) - st->left + offc; if (viewc >= 0) { - viewl= txt_get_span(text->lines.first, startl) - st->top + offl; + viewl = txt_get_span(text->lines.first, startl) - st->top + offl; - text_font_draw_character(st, x+viewc*st->cwidth, y-viewl*st->lheight, ch); - text_font_draw_character(st, x+viewc*st->cwidth+1, y-viewl*st->lheight, ch); + text_font_draw_character(st, x + viewc * st->cwidth, y - viewl * st->lheight, ch); + text_font_draw_character(st, x + viewc * st->cwidth + 1, y - viewl * st->lheight, ch); } /* draw closing bracket */ - ch= endl->line[endc]; + ch = endl->line[endc]; wrap_offset(st, ar, endl, endc, &offl, &offc); - viewc= text_get_char_pos(st, endl->line, endc) - st->left + offc; + viewc = text_get_char_pos(st, endl->line, endc) - st->left + offc; if (viewc >= 0) { - viewl= txt_get_span(text->lines.first, endl) - st->top + offl; + viewl = txt_get_span(text->lines.first, endl) - st->top + offl; - text_font_draw_character(st, x+viewc*st->cwidth, y-viewl*st->lheight, ch); - text_font_draw_character(st, x+viewc*st->cwidth+1, y-viewl*st->lheight, ch); + text_font_draw_character(st, x + viewc * st->cwidth, y - viewl * st->lheight, ch); + text_font_draw_character(st, x + viewc * st->cwidth + 1, y - viewl * st->lheight, ch); } } @@ -1729,15 +1729,15 @@ static void draw_brackets(SpaceText *st, ARegion *ar) void draw_text_main(SpaceText *st, ARegion *ar) { - Text *text= st->text; + Text *text = st->text; TextLine *tmp; rcti scroll, back; char linenr[12]; - int i, x, y, winx, linecount= 0, lineno= 0; - int wraplinecount= 0, wrap_skip= 0; + int i, x, y, winx, linecount = 0, lineno = 0; + int wraplinecount = 0, wrap_skip = 0; - if (st->lheight) st->viewlines= (int)ar->winy/st->lheight; - else st->viewlines= 0; + if (st->lheight) st->viewlines = (int)ar->winy / st->lheight; + else st->viewlines = 0; /* if no text, nothing to do */ if (!text) @@ -1750,30 +1750,30 @@ void draw_text_main(SpaceText *st, ARegion *ar) txt_clean_text(text); /* update rects for scroll */ - calc_text_rcts(st, ar, &scroll, &back); /* scroll will hold the entire bar size */ + calc_text_rcts(st, ar, &scroll, &back); /* scroll will hold the entire bar size */ /* update syntax formatting if needed */ - tmp= text->lines.first; - lineno= 0; - for (i= 0; i<st->top && tmp; i++) { + tmp = text->lines.first; + lineno = 0; + for (i = 0; i < st->top && tmp; i++) { if (st->showsyntax && !tmp->format) txt_format_line(st, tmp, 0); if (st->wordwrap) { - int lines= text_get_visible_lines_no(st, lineno); + int lines = text_get_visible_lines_no(st, lineno); - if (wraplinecount+lines>st->top) { - wrap_skip= st->top-wraplinecount; + if (wraplinecount + lines > st->top) { + wrap_skip = st->top - wraplinecount; break; } else { - wraplinecount+= lines; - tmp= tmp->next; + wraplinecount += lines; + tmp = tmp->next; linecount++; } } else { - tmp= tmp->next; + tmp = tmp->next; linecount++; } @@ -1781,22 +1781,22 @@ void draw_text_main(SpaceText *st, ARegion *ar) } text_font_begin(st); - st->cwidth= BLF_fixed_width(mono); - st->cwidth= MAX2(st->cwidth, 1); + st->cwidth = BLF_fixed_width(mono); + st->cwidth = MAX2(st->cwidth, 1); /* draw line numbers background */ if (st->showlinenrs) { - x= TXT_OFFSET + TEXTXLOC; + x = TXT_OFFSET + TEXTXLOC; UI_ThemeColor(TH_GRID); - glRecti((TXT_OFFSET-12), 0, (TXT_OFFSET-5) + TEXTXLOC, ar->winy - 2); + glRecti((TXT_OFFSET - 12), 0, (TXT_OFFSET - 5) + TEXTXLOC, ar->winy - 2); } else { - st->linenrs_tot= 0; /* not used */ - x= TXT_OFFSET; + st->linenrs_tot = 0; /* not used */ + x = TXT_OFFSET; } - y= ar->winy-st->lheight; - winx= ar->winx - TXT_SCROLL_WIDTH; + y = ar->winy - st->lheight; + winx = ar->winx - TXT_SCROLL_WIDTH; /* draw cursor */ draw_cursor(st, ar); @@ -1804,7 +1804,7 @@ void draw_text_main(SpaceText *st, ARegion *ar) /* draw the text */ UI_ThemeColor(TH_TEXT); - for (i=0; y>0 && i<st->viewlines && tmp; i++, tmp= tmp->next) { + for (i = 0; y > 0 && i < st->viewlines && tmp; i++, tmp = tmp->next) { if (st->showsyntax && !tmp->format) txt_format_line(st, tmp, 0); @@ -1824,24 +1824,24 @@ void draw_text_main(SpaceText *st, ARegion *ar) if (st->wordwrap) { /* draw word wrapped text */ - int lines = text_draw_wrapped(st, tmp->line, x, y, winx-x, tmp->format, wrap_skip); - y -= lines*st->lheight; + int lines = text_draw_wrapped(st, tmp->line, x, y, winx - x, tmp->format, wrap_skip); + y -= lines * st->lheight; } else { /* draw unwrapped text */ - text_draw(st, tmp->line, st->left, ar->winx/st->cwidth, 1, x, y, tmp->format); + text_draw(st, tmp->line, st->left, ar->winx / st->cwidth, 1, x, y, tmp->format); y -= st->lheight; } - wrap_skip= 0; + wrap_skip = 0; } - if (st->flags&ST_SHOW_MARGIN) { + if (st->flags & ST_SHOW_MARGIN) { UI_ThemeColor(TH_HILITE); glBegin(GL_LINES); - glVertex2i(x+st->cwidth*st->margin_column, 0); - glVertex2i(x+st->cwidth*st->margin_column, ar->winy - 2); + glVertex2i(x + st->cwidth * st->margin_column, 0); + glVertex2i(x + st->cwidth * st->margin_column, ar->winy - 2); glEnd(); } @@ -1861,8 +1861,8 @@ void draw_text_main(SpaceText *st, ARegion *ar) void text_update_character_width(SpaceText *st) { text_font_begin(st); - st->cwidth= BLF_fixed_width(mono); - st->cwidth= MAX2(st->cwidth, 1); + st->cwidth = BLF_fixed_width(mono); + st->cwidth = MAX2(st->cwidth, 1); text_font_end(st); } @@ -1871,16 +1871,16 @@ void text_update_character_width(SpaceText *st) void text_scroll_to_cursor(SpaceText *st, ScrArea *sa) { Text *text; - ARegion *ar= NULL; - int i, x, winx= 0; + ARegion *ar = NULL; + int i, x, winx = 0; if (ELEM3(NULL, st, st->text, st->text->curl)) return; - text= st->text; + text = st->text; - for (ar=sa->regionbase.first; ar; ar= ar->next) - if (ar->regiontype==RGN_TYPE_WINDOW) { - winx= ar->winx; + for (ar = sa->regionbase.first; ar; ar = ar->next) + if (ar->regiontype == RGN_TYPE_WINDOW) { + winx = ar->winx; break; } @@ -1888,34 +1888,34 @@ void text_scroll_to_cursor(SpaceText *st, ScrArea *sa) text_update_character_width(st); - i= txt_get_span(text->lines.first, text->sell); + i = txt_get_span(text->lines.first, text->sell); if (st->wordwrap) { int offl, offc; wrap_offset(st, ar, text->sell, text->selc, &offl, &offc); - i+= offl; + i += offl; } - if (st->top+st->viewlines <= i || st->top > i) - st->top= i - st->viewlines/2; + if (st->top + st->viewlines <= i || st->top > i) + st->top = i - st->viewlines / 2; if (st->wordwrap) { - st->left= 0; + st->left = 0; } else { - x= text_draw(st, text->sell->line, st->left, text->selc, 0, 0, 0, NULL); + x = text_draw(st, text->sell->line, st->left, text->selc, 0, 0, 0, NULL); - if (x==0 || x>winx) - st->left= text->curc-0.5*winx/st->cwidth; + if (x == 0 || x > winx) + st->left = text->curc - 0.5 * winx / st->cwidth; } - if (st->top < 0) st->top= 0; - if (st->left <0) st->left= 0; + if (st->top < 0) st->top = 0; + if (st->left < 0) st->left = 0; } void text_update_cursor_moved(bContext *C) { - ScrArea *sa= CTX_wm_area(C); - SpaceText *st= CTX_wm_space_text(C); + ScrArea *sa = CTX_wm_area(C); + SpaceText *st = CTX_wm_space_text(C); text_scroll_to_cursor(st, sa); } |