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
This commit is contained in:
@@ -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);
|
||||
|
||||
Reference in New Issue
Block a user