Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCampbell Barton <ideasman42@gmail.com>2013-12-29 14:05:39 +0400
committerCampbell Barton <ideasman42@gmail.com>2013-12-29 14:05:39 +0400
commit57e8c5870aa2657db5c2b69f35112a91d95843f1 (patch)
tree231a2e4bab82d50eee462c25b27a93387fd0a811 /source/blender/editors/curve
parent9a3855e6554be195ea5cbae7eb23a8c56f39e1cb (diff)
Text3d: setting upper/lower case now uses the selection
Diffstat (limited to 'source/blender/editors/curve')
-rw-r--r--source/blender/editors/curve/editfont.c37
1 files changed, 20 insertions, 17 deletions
diff --git a/source/blender/editors/curve/editfont.c b/source/blender/editors/curve/editfont.c
index c89f79ba55d..440ded669c0 100644
--- a/source/blender/editors/curve/editfont.c
+++ b/source/blender/editors/curve/editfont.c
@@ -1480,29 +1480,32 @@ static int set_case(bContext *C, int ccase)
EditFont *ef = cu->editfont;
wchar_t *str;
int len;
+ int selstart, selend;
- len = wcslen(ef->textbuf);
- str = ef->textbuf;
- while (len) {
- if (*str >= 'a' && *str <= 'z')
- *str -= 32;
- len--;
- str++;
- }
-
- if (ccase == CASE_LOWER) {
- len = wcslen(ef->textbuf);
- str = ef->textbuf;
+ if (BKE_vfont_select_get(obedit, &selstart, &selend)) {
+ len = (selend - selstart) + 1;
+ str = &ef->textbuf[selstart];
while (len) {
- if (*str >= 'A' && *str <= 'Z') {
- *str += 32;
- }
+ if (*str >= 'a' && *str <= 'z')
+ *str -= 32;
len--;
str++;
}
- }
- text_update_edited(C, scene, obedit, 1, FO_EDIT);
+ if (ccase == CASE_LOWER) {
+ len = (selend - selstart) + 1;
+ str = &ef->textbuf[selstart];
+ while (len) {
+ if (*str >= 'A' && *str <= 'Z') {
+ *str += 32;
+ }
+ len--;
+ str++;
+ }
+ }
+
+ text_update_edited(C, scene, obedit, 1, FO_EDIT);
+ }
return OPERATOR_FINISHED;
}