diff options
author | Ton Roosendaal <ton@blender.org> | 2004-10-03 17:49:54 +0400 |
---|---|---|
committer | Ton Roosendaal <ton@blender.org> | 2004-10-03 17:49:54 +0400 |
commit | 3a840670a52701e8690a5d201bcb57eac45e2c8a (patch) | |
tree | 0341f7c09a337d8d43d0fca51376314476ac2905 /source/blender/src/editmode_undo.c | |
parent | 6e4b9ad96b3894e432a1561d1902f656aaa799c0 (diff) |
Lots of small changes, all for UI in Blender;
----- Killed UI frontbuffer draw
The interface toolkit was drawing all live updates (while using menus/buttons)
in the frontbuffer. This isn't well supported cross-platform, so time to be
killed once. Now it uses *only* glReadPixels and glCopyPixels for frontbuffer
access.
Live updates or menus now are drawn in backbuffer always, and copied to
front when needed.
NOTE: it was tested, but needs thorough review! On PC systems I suspects
backbuffer selection to screw up (check!). On SGI/SUN workstations it
should work smooth; but I need evidence
----- Smaller fixes;
- AA fonts were garbled on ATI systems. Now the AA fonts are drawn exact
on pixel positions. Needs the new FTGL libb too, patch is on maillist
- Rounded theme uses antialiased outlines
- Pulldown and popup menus have nice softshadow now
- New button type 'PULLDOWN', thats the one that callsup a pulldown menu.
Should be added to themes, as is the full menu/pulldown drawing
- Screendump for 1 window does the full window now, including header
- Empty pulldowns (for example running blender without scripts) give no
drawing error anymore
For review & fun;
- added curved lines as connectors, for Oops window
Diffstat (limited to 'source/blender/src/editmode_undo.c')
-rw-r--r-- | source/blender/src/editmode_undo.c | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/source/blender/src/editmode_undo.c b/source/blender/src/editmode_undo.c index 7ae8613041a..d21e290f322 100644 --- a/source/blender/src/editmode_undo.c +++ b/source/blender/src/editmode_undo.c @@ -207,7 +207,7 @@ void undo_editmode_step(int step) undo_clean_stack(); if(step==0) { - undo_restore(curundo); // if NULL, reloads editmesh + undo_restore(curundo); } else if(step==1) { @@ -215,7 +215,7 @@ void undo_editmode_step(int step) else { printf("undo %s\n", curundo->name); curundo= curundo->prev; - undo_restore(curundo); // if NULL, reloads editmesh + undo_restore(curundo); } } else { @@ -311,6 +311,8 @@ uiBlock *editmode_undohistorymenu(void *arg_unused) short yco = 20, menuwidth = 120; short item=2; + undo_clean_stack(); // removes other objects from it + block= uiNewBlock(&curarea->uiblocks, "view3d_edit_mesh_undohistorymenu", UI_EMBOSSP, UI_HELV, G.curscreen->mainwin); uiBlockSetButmFunc(block, do_editmode_undohistorymenu, NULL); @@ -319,6 +321,7 @@ uiBlock *editmode_undohistorymenu(void *arg_unused) for(uel= undobase.first; uel; uel= uel->next, item++) { if (uel==curundo) uiDefBut(block, SEPR, 0, "", 0, yco-=6, menuwidth, 6, NULL, 0.0, 0.0, 0, 0, ""); uiDefIconTextBut(block, BUTM, 1, ICON_BLANK1, uel->name, 0, yco-=20, menuwidth, 19, NULL, 0.0, 0.0, 1, (float)item, ""); + if (uel==curundo) uiDefBut(block, SEPR, 0, "", 0, yco-=6, menuwidth, 6, NULL, 0.0, 0.0, 0, 0, ""); } uiBlockSetDirection(block, UI_RIGHT); |