diff options
author | Chris Want <cwant@ualberta.ca> | 2006-01-28 19:35:18 +0300 |
---|---|---|
committer | Chris Want <cwant@ualberta.ca> | 2006-01-28 19:35:18 +0300 |
commit | c8b48e70e626a351dc3d02122ea413d0046e98b7 (patch) | |
tree | 0b4777ce258d751f501ec7ce16c129f01f3d3307 /source/blender/src/interface_draw.c | |
parent | 45c7b2c5c2bc20296a581e1b6a1cb3908f11732f (diff) | |
parent | db5f7bd8da580d05c31f6fa65bfea8042deac10e (diff) |
Final merge of HEAD (bf-blender) into the orange branch.
Here are my notes on things to look out for as potential problem
spots:
source/blender/blenkernel/intern/displist.c:
+ is initfastshade(void) supposed to be empty? I had
to make it empty to get the merged tree to compile.
source/blender/python/api2_2x/Armature.c:
+ went with the version that had Armature_getLayers()
source/blender/python/api2_2x/Object.c
+ went with the version of Object_getPose() from bf-blender.
(#ifdef 0-ed the other version)
source/blender/python/api2_2x/Pose.[ch]
+ had problems linking due to no Pose_Init() ... copied these
two files straight from bf-blender.
source/blender/src/drawview.c:
+ view3d_panel_properties() had things shifted a few things shifted
a few pixels, otherwise, things were painless
source/blender/src/splash.jpg.c:
+ went with bf-blender version (orange is dead)
source/gameengine:
+ went with bf-blender version -- does not compile due to IMB_rect* stuff,
Ton should look into this.
Diffstat (limited to 'source/blender/src/interface_draw.c')
-rw-r--r-- | source/blender/src/interface_draw.c | 52 |
1 files changed, 38 insertions, 14 deletions
diff --git a/source/blender/src/interface_draw.c b/source/blender/src/interface_draw.c index d910a394e61..450181a1e99 100644 --- a/source/blender/src/interface_draw.c +++ b/source/blender/src/interface_draw.c @@ -1207,12 +1207,18 @@ static void ui_draw_round(int type, int colorid, float asp, float x1, float y1, /* super minimal button as used in logic menu */ static void ui_draw_minimal(int type, int colorid, float asp, float x1, float y1, float x2, float y2, int flag) { - + /* too much space between buttons */ + /* x1+= asp; x2-= asp; y1+= asp; y2-= asp; - + */ + + /* Less space between buttons looks nicer */ + y2-= asp; + x2-= asp; + /* paper */ if(flag & UI_SELECT) { if(flag & UI_ACTIVE) BIF_ThemeColorShade(colorid, -40); @@ -1744,6 +1750,15 @@ static void ui_draw_but_CHARTAB(uiBut *but) unsigned char ustr[16]; PackedFile *pf; int result = 0; + int charmax = G.charmax; + + /* <builtin> font in use */ + if(!strcmp(G.selfont->name, "<builtin>")) + charmax = 0xff; + + /* Category list exited without selecting the area */ + if(G.charmax == 0) + charmax = G.charmax = 0xffff; /* Calculate the size of the button */ width = abs(but->x2 - but->x1); @@ -1777,7 +1792,7 @@ static void ui_draw_but_CHARTAB(uiBut *but) strcpy(tmpStr, G.selfont->name); BLI_convertstringcode(tmpStr, G.sce, 0); - err = FTF_SetFont(tmpStr, 0, 14.0); + err = FTF_SetFont((unsigned char *)tmpStr, 0, 14.0); } } @@ -1791,12 +1806,12 @@ static void ui_draw_but_CHARTAB(uiBut *but) for(y = 0; y < 6; y++) { // Do not draw more than the category allows - if(cs > G.charmax) break; + if(cs > charmax) break; for(x = 0; x < 12; x++) { // Do not draw more than the category allows - if(cs > G.charmax) break; + if(cs > charmax) break; // Draw one grid cell glBegin(GL_LINE_LOOP); @@ -1809,9 +1824,18 @@ static void ui_draw_but_CHARTAB(uiBut *but) // Draw character inside the cell memset(wstr, 0, sizeof(wchar_t)*2); memset(ustr, 0, 16); - + + // Set the font to be either unicode or <builtin> wstr[0] = cs; - wcs2utf8s(ustr, wstr); + if(strcmp(G.selfont->name, "<builtin>")) + { + wcs2utf8s((char *)ustr, (wchar_t *)wstr); + } + else + { + ustr[0] = cs; + ustr[1] = 0; + } if(G.selfont && strcmp(G.selfont->name, "<builtin>")) { @@ -1821,8 +1845,8 @@ static void ui_draw_but_CHARTAB(uiBut *but) float px, py; // Calculate the position - wid = FTF_GetStringWidth(ustr, FTF_USE_GETTEXT | FTF_INPUT_UTF8); - FTF_GetBoundingBox(ustr, &llx,&lly,&llz,&urx,&ury,&urz, FTF_USE_GETTEXT | FTF_INPUT_UTF8); + wid = FTF_GetStringWidth((char *) ustr, FTF_USE_GETTEXT | FTF_INPUT_UTF8); + FTF_GetBoundingBox((char *) ustr, &llx,&lly,&llz,&urx,&ury,&urz, FTF_USE_GETTEXT | FTF_INPUT_UTF8); dx = urx-llx; dy = ury-lly; @@ -1832,12 +1856,12 @@ static void ui_draw_but_CHARTAB(uiBut *but) // Set the position and draw the character ui_rasterpos_safe(px, py, but->aspect); - FTF_DrawString(ustr, FTF_USE_GETTEXT | FTF_INPUT_UTF8); + FTF_DrawString((char *) ustr, FTF_USE_GETTEXT | FTF_INPUT_UTF8); } else { ui_rasterpos_safe(sx + butw/2, sy + buth/2, but->aspect); - BIF_DrawString(but->font, ustr, 0); + BIF_DrawString(but->font, (char *) ustr, 0); } // Calculate the next position and character @@ -1855,16 +1879,16 @@ static void ui_draw_but_CHARTAB(uiBut *but) /* Return Font Settings to original */ if(U.fontsize && U.fontname[0]) { - result = FTF_SetFont(U.fontname, 0, U.fontsize); + result = FTF_SetFont((unsigned char *)U.fontname, 0, U.fontsize); } else if (U.fontsize) { - result = FTF_SetFont(datatoc_bfont_ttf, datatoc_bfont_ttf_size, U.fontsize); + result = FTF_SetFont((unsigned char *) datatoc_bfont_ttf, datatoc_bfont_ttf_size, U.fontsize); } if (result == 0) { - result = FTF_SetFont(datatoc_bfont_ttf, datatoc_bfont_ttf_size, 11); + result = FTF_SetFont((unsigned char *) datatoc_bfont_ttf, datatoc_bfont_ttf_size, 11); } } |