[Cgui-develop] cgui/src ndresize.c, 1.1.4.1, 1.1.4.2 obdrag.c, 1.1.2.1.2.1, 1.1.2.1.2.2 obedbox.c,
Brought to you by:
chrisan,
rasmusmyklebust
From: Christer S. <ch...@us...> - 2008-04-25 21:05:57
|
Update of /cvsroot/cgui/cgui/src In directory sc8-pr-cvs4.sourceforge.net:/tmp/cvs-serv24641/src Modified Files: Tag: Branch_CGUI_1-6-7 ndresize.c obdrag.c obedbox.c Log Message: fixed bug 1951905 Index: ndresize.c =================================================================== RCS file: /cvsroot/cgui/cgui/src/ndresize.c,v retrieving revision 1.1.4.1 retrieving revision 1.1.4.2 diff -C2 -d -r1.1.4.1 -r1.1.4.2 *** ndresize.c 28 Sep 2007 22:17:01 -0000 1.1.4.1 --- ndresize.c 25 Apr 2008 21:05:47 -0000 1.1.4.2 *************** *** 131,139 **** case SL_PROGRESS: if (continous_update_resize) { ! if (rs->CallBack) ! rs->CallBack(rs->data, x - oldx, y - oldy); ! ReMakeWindow(fwin); ! oldx = x; ! oldy = y; } break; --- 131,143 ---- case SL_PROGRESS: if (continous_update_resize) { ! if (oldx == x && oldy == y) { ! ; ! } else { ! if (rs->CallBack) ! rs->CallBack(rs->data, x - oldx, y - oldy); ! ReMakeWindow(fwin); ! oldx = x; ! oldy = y; ! } } break; Index: obedbox.c =================================================================== RCS file: /cvsroot/cgui/cgui/src/obedbox.c,v retrieving revision 1.1.2.1.2.23 retrieving revision 1.1.2.1.2.24 diff -C2 -d -r1.1.2.1.2.23 -r1.1.2.1.2.24 *** obedbox.c 16 Dec 2007 10:50:31 -0000 1.1.2.1.2.23 --- obedbox.c 25 Apr 2008 21:05:47 -0000 1.1.2.1.2.24 *************** *** 602,623 **** s = edb->curpos; b = edb->b; ! maxx = edb->bmp->w - 1; ! if (s - text <= edb->vstart) { ! edb->vstart = s - text; ! tmp = *s; ! *s = 0; ! edb->x = text_length(b->font, text + edb->vstart); ! *s = tmp; ! } else { ! do { tmp = *s; *s = 0; edb->x = text_length(b->font, text + edb->vstart); *s = tmp; ! if (edb->x > maxx && text[edb->vstart]) ! edb->vstart++; ! else ! break; ! } while (1); } } --- 602,627 ---- s = edb->curpos; b = edb->b; ! if (edb->bmp) { ! maxx = edb->bmp->w - 1; ! if (s - text <= edb->vstart) { ! edb->vstart = s - text; tmp = *s; *s = 0; edb->x = text_length(b->font, text + edb->vstart); *s = tmp; ! } else { ! do { ! tmp = *s; ! *s = 0; ! edb->x = text_length(b->font, text + edb->vstart); ! *s = tmp; ! if (edb->x > maxx && text[edb->vstart]) ! edb->vstart++; ! else ! break; ! } while (1); ! } ! } else { ! edb->vstart = edb->x = 0; } } *************** *** 1281,1306 **** col = cgui_black; ! rectfill(bmp, x1, y1, x2, y2, cgui_gray); ! x1 += offset; ! if (b->im) { ! diff = (y2 - y1 + 1) - b->im->h; ! imy1 = y1 + diff/2 + offset; ! if (diff > 0) ! diff = 0; ! h = b->im->h + diff; ! set_clip_rect(bmp, x1, y1, x2, y2); ! DrawImage(b->im, bmp, x1, imy1 + diff); ! set_clip_rect(bmp, 0, 0, bmp->w - 1, bmp->h - 1); ! x1 += b->im->w + 1; ! } ! if (b->inactive) { ! textout_ex(bmp, b->font, b->label, x1 + 1, yt + offset + 1, cgui_dgray, -1); ! } ! textout_ex(bmp, b->font, b->label, x1, yt + offset, col, -1); ! if (b->hklen) { ! xh = x1 + b->hkxoffs; ! xh2 = xh + b->hklen - 1; ! yh = _cgui_hot_key_line + yt + offset; ! hline(bmp, xh, yh, xh2, col); } } --- 1285,1312 ---- col = cgui_black; ! if (bmp) { ! rectfill(bmp, x1, y1, x2, y2, cgui_gray); ! x1 += offset; ! if (b->im) { ! diff = (y2 - y1 + 1) - b->im->h; ! imy1 = y1 + diff/2 + offset; ! if (diff > 0) ! diff = 0; ! h = b->im->h + diff; ! set_clip_rect(bmp, x1, y1, x2, y2); ! DrawImage(b->im, bmp, x1, imy1 + diff); ! set_clip_rect(bmp, 0, 0, bmp->w - 1, bmp->h - 1); ! x1 += b->im->w + 1; ! } ! if (b->inactive) { ! textout_ex(bmp, b->font, b->label, x1 + 1, yt + offset + 1, cgui_dgray, -1); ! } ! textout_ex(bmp, b->font, b->label, x1, yt + offset, col, -1); ! if (b->hklen) { ! xh = x1 + b->hkxoffs; ! xh2 = xh + b->hklen - 1; ! yh = _cgui_hot_key_line + yt + offset; ! hline(bmp, xh, yh, xh2, col); ! } } } *************** *** 1351,1355 **** if (edb->bmp == NULL) ! /* This may be the case if the editbox is placed outside the node */ return; if (b->inactive) { --- 1357,1361 ---- if (edb->bmp == NULL) ! /* This may be the case e.g. if the editbox is placed outside the node */ return; if (b->inactive) { Index: obdrag.c =================================================================== RCS file: /cvsroot/cgui/cgui/src/obdrag.c,v retrieving revision 1.1.2.1.2.1 retrieving revision 1.1.2.1.2.2 diff -C2 -d -r1.1.2.1.2.1 -r1.1.2.1.2.2 *** obdrag.c 25 Sep 2005 17:10:54 -0000 1.1.2.1.2.1 --- obdrag.c 25 Apr 2008 21:05:47 -0000 1.1.2.1.2.2 *************** *** 51,57 **** break; case SL_PROGRESS: ! RedrawDraggingWindow(w, x - oldx, y - oldy); ! oldx = x - (x - oldx); ! oldy = y - (y - oldy); break; case SL_STOPPED: --- 51,59 ---- break; case SL_PROGRESS: ! if (x != oldx || y != oldy) { ! RedrawDraggingWindow(w, x - oldx, y - oldy); ! oldx = x - (x - oldx); ! oldy = y - (y - oldy); ! } break; case SL_STOPPED: |