comparison os2/dw.c @ 1449:632346743f46

Fixed dw_window_redraw() on Windows not recalculating notebook page contents if the notebook size didn't change. Remove notebook page subclass and do the redrawing in _resize_box() itself. Fixed expandable boxes with no contents not consuming any space on OS/2, Windows and Mac. Added invalidated window redraw on entering dw_main() on OS/2, Windows and Mac.
author bsmith@81767d24-ef19-dc11-ae90-00e081727c95
date Wed, 14 Dec 2011 00:23:30 +0000
parents 8f7692fcad37
children a56fa83f2a7c
comparison
equal deleted inserted replaced
1448:508dde3dc398 1449:632346743f46
1128 _resize_box(tmp, depth, x, y, pass); 1128 _resize_box(tmp, depth, x, y, pass);
1129 1129
1130 /* Duplicate the values in the item list for use below */ 1130 /* Duplicate the values in the item list for use below */
1131 thisbox->items[z].width = tmp->minwidth; 1131 thisbox->items[z].width = tmp->minwidth;
1132 thisbox->items[z].height = tmp->minheight; 1132 thisbox->items[z].height = tmp->minheight;
1133
1134 /* If the box has no contents but is expandable... default the size to 1 */
1135 if(!thisbox->items[z].width && thisbox->items[z].hsize)
1136 thisbox->items[z].width = 1;
1137 if(!thisbox->items[z].height && thisbox->items[z].vsize)
1138 thisbox->items[z].height = 1;
1133 1139
1134 (*depth)--; 1140 (*depth)--;
1135 } 1141 }
1136 } 1142 }
1137 } 1143 }
3995 void API dw_main(void) 4001 void API dw_main(void)
3996 { 4002 {
3997 QMSG qmsg; 4003 QMSG qmsg;
3998 4004
3999 _dwtid = dw_thread_id(); 4005 _dwtid = dw_thread_id();
4006 /* Make sure any queued redraws are handled */
4007 _dw_redraw(0, FALSE);
4000 4008
4001 while(WinGetMsg(dwhab, &qmsg, 0, 0, 0)) 4009 while(WinGetMsg(dwhab, &qmsg, 0, 0, 0))
4002 { 4010 {
4003 if(qmsg.msg == WM_TIMER && qmsg.hwnd == NULLHANDLE) 4011 if(qmsg.msg == WM_TIMER && qmsg.hwnd == NULLHANDLE)
4004 _run_event(qmsg.hwnd, qmsg.msg, qmsg.mp1, qmsg.mp2); 4012 _run_event(qmsg.hwnd, qmsg.msg, qmsg.mp1, qmsg.mp2);