58
54
#include "BKE_utildefines.h"
59
55
#include "BKE_global.h"
57
#include "BIF_interface.h"
61
58
#include "BIF_gl.h"
62
#include "BIF_interface.h"
63
59
#include "BIF_glutil.h"
60
#include "BIF_mywindow.h"
61
#include "BIF_outliner.h"
64
62
#include "BIF_resources.h"
65
63
#include "BIF_screen.h"
66
#include "BIF_mywindow.h"
67
#include "BIF_resources.h"
69
65
/* #include "BIF_drawoops.h" bad name :(*/
70
66
#include "BIF_oops.h"
152
glEnable(GL_MAP1_VERTEX_3);
153
vec[0][2]= vec[1][2]= vec[2][2]= vec[3][2]= 0.0;
149
155
ol= oops->link.first;
151
157
if(ol->to && ol->to->hide==0) {
153
give_oopslink_line(oops, ol, vec, vec+2);
159
give_oopslink_line(oops, ol, vec[0], vec[3]);
161
dist= 0.5*VecLenf(vec[0], vec[3]);
163
/* check ol->xof and yof for direction */
165
vec[1][0]= vec[0][0]-dist;
166
vec[1][1]= vec[0][1];
168
else if(ol->xof==OOPSX) {
169
vec[1][0]= vec[0][0]+dist;
170
vec[1][1]= vec[0][1];
173
vec[1][0]= vec[0][0];
174
vec[1][1]= vec[0][1]+dist;
177
/* v3 is always pointing down */
178
vec[2][0]= vec[3][0];
179
vec[2][1]= vec[3][1] - dist;
181
glMap1f(GL_MAP1_VERTEX_3, 0.0, 1.0, 3, 4, vec[0]);
155
183
glBegin(GL_LINE_STRIP);
184
for(a=0; a<=30; a++) {
185
glEvalCoord1f((float)a/30.0);
367
396
void drawoopsspace(ScrArea *sa, void *spacedata)
398
SpaceOops *soops= spacedata;
373
402
BIF_GetThemeColor3fv(TH_BACK, col);
374
403
glClearColor(col[0], col[1], col[2], 0.0);
375
404
glClear(GL_COLOR_BUFFER_BIT);
376
if(G.soops==0) return;
379
calc_scrollrcts(G.v2d, curarea->winx, curarea->winy);
381
if(curarea->winx>SCROLLB+10 && curarea->winy>SCROLLH+10) {
383
ofsx= curarea->winrct.xmin; /* because of mywin */
384
ofsy= curarea->winrct.ymin;
386
glViewport(ofsx+G.v2d->mask.xmin, ofsy+G.v2d->mask.ymin, ( ofsx+G.v2d->mask.xmax-1)-(ofsx+G.v2d->mask.xmin)+1, ( ofsy+G.v2d->mask.ymax-1)-( ofsy+G.v2d->mask.ymin)+1);
387
glScissor(ofsx+G.v2d->mask.xmin, ofsy+G.v2d->mask.ymin, ( ofsx+G.v2d->mask.xmax-1)-(ofsx+G.v2d->mask.xmin)+1, ( ofsy+G.v2d->mask.ymax-1)-( ofsy+G.v2d->mask.ymin)+1);
391
myortho2(G.v2d->cur.xmin, G.v2d->cur.xmax, G.v2d->cur.ymin, G.v2d->cur.ymax);
393
oopscalex= .14*((float)curarea->winx)/(G.v2d->cur.xmax-G.v2d->cur.xmin);
394
calc_ipogrid(); /* for scrollvariables */
397
oops= G.soops->oops.first;
404
oops= G.soops->oops.first;
407
if(oops->flag & SELECT); else draw_oops(oops);
411
oops= G.soops->oops.first;
414
if(oops->flag & SELECT) draw_oops(oops);
407
if(soops->type==SO_OUTLINER) draw_outliner(sa, soops);
408
else if (soops->type==SO_DEPSGRAPH) {
409
build_deps(soops->deps_flags);
411
calc_scrollrcts(sa,G.v2d, curarea->winx, curarea->winy);
413
myortho2(G.v2d->cur.xmin, G.v2d->cur.xmax, G.v2d->cur.ymin, G.v2d->cur.ymax);
415
oopscalex= .14*((float)curarea->winx)/(G.v2d->cur.xmax-G.v2d->cur.xmin);
416
calc_ipogrid(); /* for scrollvariables */
420
calc_scrollrcts(sa, G.v2d, curarea->winx, curarea->winy);
422
myortho2(G.v2d->cur.xmin, G.v2d->cur.xmax, G.v2d->cur.ymin, G.v2d->cur.ymax);
424
oopscalex= .14*((float)curarea->winx)/(G.v2d->cur.xmax-G.v2d->cur.xmin);
425
calc_ipogrid(); /* for scrollvariables */
428
oops= soops->oops.first;
435
oops= soops->oops.first;
438
if(oops->flag & SELECT); else draw_oops(oops);
442
oops= soops->oops.first;
445
if(oops->flag & SELECT) draw_oops(oops);
419
451
/* restore viewport */
420
452
mywinset(curarea->win);
423
454
/* ortho at pixel level curarea */
424
455
myortho2(-0.375, sa->winx-0.375, -0.375, sa->winy-0.375);
457
if(soops->type==SO_OUTLINER) {
458
if(sa->winx>SCROLLB+10 && sa->winy>SCROLLH+10) {
459
if(G.v2d->scroll) drawscroll(0);
428
462
draw_area_emboss(sa);