forked from bartvdbraak/blender
View2D: Presets for Initialising Views
Improved the View2D API so that initialising View2D data in init() callbacks (called on new regions and also on resizing regions) for regions is easier. Added a few preset view configurations for use when initialising new views. Views with the V2D_IS_INITIALISED flag set will not be reinitialised in the init() callbacks. Currently, some of these configurations will set/override all settings (like V2D_COMMONVIEW_LIST and V2D_COMMONVIEW_HEADER), while other ones serve a more supplimentary role (i.e. V2D_COMMONVIEW_TIMELINE only sets the x-axis settings, relying on the region to have already set the relevant y-axis settings). The future of such supplimentary configurations is yet to be seen, as I'm currently not sure whether they will cause the code to become too confusing, as you'd have to keep track of which settings belong/are set where. So far, only a few areas have been ported to use this. Tomorrow I'll check on a few more. As this commit touches a lot of files, hopefully there aren't any critical bugs I've missed here.
This commit is contained in:
parent
998e682fc3
commit
f518fa8ea7
@ -5061,7 +5061,7 @@ static void area_add_header_region(ScrArea *sa, ListBase *lb)
|
||||
/* is copy from ui_view2d.c */
|
||||
ar->v2d.keepzoom = (V2D_LOCKZOOM_X|V2D_LOCKZOOM_Y|V2D_KEEPZOOM|V2D_KEEPASPECT);
|
||||
ar->v2d.keepofs = V2D_LOCKOFS_Y;
|
||||
ar->v2d.keeptot = 2; // this keeps the view in place when region size changes...
|
||||
ar->v2d.keeptot = V2D_KEEPTOT_STRICT;
|
||||
ar->v2d.align = V2D_ALIGN_NO_NEG_X|V2D_ALIGN_NO_NEG_Y;
|
||||
|
||||
}
|
||||
@ -5116,7 +5116,8 @@ static void area_add_window_regions(ScrArea *sa, SpaceLink *sl, ListBase *lb)
|
||||
ar->v2d.scroll |= (V2D_SCROLL_RIGHT|V2D_SCROLL_BOTTOM_O);
|
||||
ar->v2d.align = (V2D_ALIGN_NO_NEG_X|V2D_ALIGN_NO_POS_Y);
|
||||
ar->v2d.keepzoom |= (V2D_LOCKZOOM_X|V2D_LOCKZOOM_Y|V2D_KEEPASPECT);
|
||||
ar->v2d.keeptot = 2;
|
||||
ar->v2d.keeptot = V2D_KEEPTOT_STRICT;
|
||||
ar->v2d.flag |= V2D_IS_INITIALISED;
|
||||
}
|
||||
break;
|
||||
case SPACE_TIME:
|
||||
@ -5130,6 +5131,7 @@ static void area_add_window_regions(ScrArea *sa, SpaceLink *sl, ListBase *lb)
|
||||
ar->v2d.keepzoom |= V2D_LOCKZOOM_Y;
|
||||
ar->v2d.tot.ymin= ar->v2d.cur.ymin= -10.0;
|
||||
ar->v2d.min[1]= ar->v2d.max[1]= 20.0;
|
||||
ar->v2d.flag |= V2D_IS_INITIALISED;
|
||||
}
|
||||
break;
|
||||
case SPACE_IPO:
|
||||
@ -5139,6 +5141,7 @@ static void area_add_window_regions(ScrArea *sa, SpaceLink *sl, ListBase *lb)
|
||||
|
||||
ar->v2d.scroll |= (V2D_SCROLL_BOTTOM|V2D_SCROLL_SCALE_HORIZONTAL);
|
||||
ar->v2d.scroll |= (V2D_SCROLL_LEFT|V2D_SCROLL_SCALE_VERTICAL);
|
||||
ar->v2d.flag |= V2D_IS_INITIALISED;
|
||||
break;
|
||||
}
|
||||
case SPACE_SOUND:
|
||||
@ -5148,6 +5151,7 @@ static void area_add_window_regions(ScrArea *sa, SpaceLink *sl, ListBase *lb)
|
||||
|
||||
ar->v2d.scroll |= (V2D_SCROLL_BOTTOM|V2D_SCROLL_SCALE_HORIZONTAL);
|
||||
ar->v2d.scroll |= (V2D_SCROLL_LEFT);
|
||||
ar->v2d.flag |= V2D_IS_INITIALISED;
|
||||
break;
|
||||
}
|
||||
case SPACE_NLA:
|
||||
@ -5157,6 +5161,7 @@ static void area_add_window_regions(ScrArea *sa, SpaceLink *sl, ListBase *lb)
|
||||
|
||||
ar->v2d.scroll |= (V2D_SCROLL_BOTTOM|V2D_SCROLL_SCALE_HORIZONTAL);
|
||||
ar->v2d.scroll |= (V2D_SCROLL_RIGHT);
|
||||
ar->v2d.flag |= V2D_IS_INITIALISED;
|
||||
break;
|
||||
}
|
||||
case SPACE_ACTION:
|
||||
@ -5166,6 +5171,7 @@ static void area_add_window_regions(ScrArea *sa, SpaceLink *sl, ListBase *lb)
|
||||
|
||||
ar->v2d.scroll |= (V2D_SCROLL_BOTTOM|V2D_SCROLL_SCALE_HORIZONTAL);
|
||||
ar->v2d.scroll |= (V2D_SCROLL_RIGHT);
|
||||
ar->v2d.flag |= V2D_IS_INITIALISED;
|
||||
break;
|
||||
}
|
||||
case SPACE_SEQ:
|
||||
@ -5175,12 +5181,14 @@ static void area_add_window_regions(ScrArea *sa, SpaceLink *sl, ListBase *lb)
|
||||
|
||||
ar->v2d.scroll |= (V2D_SCROLL_BOTTOM|V2D_SCROLL_SCALE_HORIZONTAL);
|
||||
ar->v2d.scroll |= (V2D_SCROLL_LEFT|V2D_SCROLL_SCALE_VERTICAL);
|
||||
ar->v2d.flag |= V2D_IS_INITIALISED;
|
||||
break;
|
||||
}
|
||||
case SPACE_NODE:
|
||||
{
|
||||
SpaceNode *snode= (SpaceNode *)sl;
|
||||
memcpy(&ar->v2d, &snode->v2d, sizeof(View2D));
|
||||
ar->v2d.flag |= V2D_IS_INITIALISED;
|
||||
break;
|
||||
}
|
||||
case SPACE_BUTS:
|
||||
@ -5188,6 +5196,7 @@ static void area_add_window_regions(ScrArea *sa, SpaceLink *sl, ListBase *lb)
|
||||
SpaceButs *sbuts= (SpaceButs *)sl;
|
||||
memcpy(&ar->v2d, &sbuts->v2d, sizeof(View2D));
|
||||
ar->v2d.keepzoom |= V2D_KEEPASPECT;
|
||||
ar->v2d.flag |= V2D_IS_INITIALISED;
|
||||
break;
|
||||
}
|
||||
//case SPACE_XXX: // FIXME... add other ones
|
||||
|
@ -44,10 +44,14 @@
|
||||
enum {
|
||||
/* custom view type (region has defined all necessary flags already) */
|
||||
V2D_COMMONVIEW_CUSTOM = 0,
|
||||
/* view canvas ('standard' view, view limits/restrictions still need to be set first!) */
|
||||
V2D_COMMONVIEW_VIEWCANVAS,
|
||||
/* listview (i.e. Outliner) */
|
||||
V2D_COMMONVIEW_LIST,
|
||||
/* headers (this is basically the same as listview, but no y-panning) */
|
||||
V2D_COMMONVIEW_HEADER,
|
||||
/* timegrid (this sets the settings for x/horizontal, but y/vertical settings still need to be set first!) */
|
||||
V2D_COMMONVIEW_TIMELINE,
|
||||
} eView2D_CommonViewTypes;
|
||||
|
||||
/* ---- Defines for Scroller/Grid Arguments ----- */
|
||||
@ -125,10 +129,7 @@ typedef struct View2DScrollers View2DScrollers;
|
||||
/* Prototypes: */
|
||||
|
||||
/* refresh and validation (of view rects) */
|
||||
void UI_view2d_regiondata_init(struct View2D *v2d, short type, int winx, int winy);
|
||||
void UI_view2d_header_default(struct View2D *v2d);
|
||||
|
||||
void UI_view2d_size_update(struct View2D *v2d, int winx, int winy);
|
||||
void UI_view2d_region_reinit(struct View2D *v2d, short type, int winx, int winy);
|
||||
|
||||
void UI_view2d_curRect_validate(struct View2D *v2d);
|
||||
void UI_view2d_curRect_reset(struct View2D *v2d);
|
||||
|
@ -57,32 +57,18 @@
|
||||
/* *********************************************************************** */
|
||||
/* Refresh and Validation */
|
||||
|
||||
/* Initialise all View2D data for a given region */
|
||||
// eView2D_CommonViewTypes <--- only check handle these types...
|
||||
void UI_view2d_regiondata_init(View2D *v2d, short type, int winx, int winy)
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
|
||||
/* allowing horizontal pan */
|
||||
// XXX this should become one of 'standard' setups...
|
||||
void UI_view2d_header_default(View2D *v2d)
|
||||
{
|
||||
v2d->keepzoom = (V2D_LOCKZOOM_X|V2D_LOCKZOOM_Y|V2D_KEEPZOOM|V2D_KEEPASPECT);
|
||||
v2d->keepofs = V2D_LOCKOFS_Y;
|
||||
v2d->keeptot = 2; // this keeps the view in place when region size changes...
|
||||
v2d->align = V2D_ALIGN_NO_NEG_X|V2D_ALIGN_NO_NEG_Y;
|
||||
|
||||
}
|
||||
|
||||
/* Adjust mask size in response to view size changes
|
||||
* - This should only be called in region init() callbacks, which are
|
||||
* called when the region is resized or area changes...
|
||||
/* Initialise all relevant View2D data (including view rects if first time) and/or refresh mask sizes after view resize
|
||||
* - for some of these presets, it is expected that the region will have defined some
|
||||
* additional settings necessary for the customisation of the 2D viewport to its requirements
|
||||
* - this function should only be called from region init() callbacks, where it is expected that
|
||||
* this is called before UI_view2d_size_update(), as this one checks that the rects are properly initialised.
|
||||
*/
|
||||
// XXX pre2.5 -> this used to be called calc_scrollrcts()
|
||||
void UI_view2d_size_update(View2D *v2d, int winx, int winy)
|
||||
// eView2D_CommonViewTypes <--- only check handle these types...
|
||||
void UI_view2d_region_reinit(View2D *v2d, short type, int winx, int winy)
|
||||
{
|
||||
short tot_changed= 0;
|
||||
|
||||
/* store view size */
|
||||
v2d->winx= winx;
|
||||
v2d->winy= winy;
|
||||
|
||||
@ -138,21 +124,95 @@ void UI_view2d_size_update(View2D *v2d, int winx, int winy)
|
||||
}
|
||||
}
|
||||
|
||||
/* cope with unitialized veriables for simple cases, like header or outliner */
|
||||
// XXX er... this shouldn't be here??? or at least some extra checks are needed for some things...
|
||||
if ((v2d->tot.xmin==v2d->tot.xmax) || (v2d->cur.xmin==v2d->cur.xmax)) {
|
||||
if (v2d->keepzoom & (V2D_KEEPZOOM|V2D_LOCKZOOM_X|V2D_LOCKZOOM_Y)) {
|
||||
BLI_init_rctf(&v2d->tot, v2d->mask.xmin, v2d->mask.xmax, v2d->mask.ymin, v2d->mask.ymax);
|
||||
BLI_init_rctf(&v2d->cur, v2d->mask.xmin, v2d->mask.xmax, v2d->mask.ymin, v2d->mask.ymax);
|
||||
/* initialise data if there is a need for such */
|
||||
if ((v2d->flag & V2D_IS_INITIALISED) == 0) {
|
||||
v2d->flag |= V2D_IS_INITIALISED;
|
||||
|
||||
/* see eView2D_CommonViewTypes in UI_view2d.h for available view presets */
|
||||
switch (type) {
|
||||
/* 'standard view' - from (0,0) to (winx,winy), with other restrictions defined by region already */
|
||||
case V2D_COMMONVIEW_VIEWCANVAS:
|
||||
{
|
||||
/* just set 'tot' rect alignment restictions for now */
|
||||
v2d->align= V2D_ALIGN_NO_NEG_X|V2D_ALIGN_NO_NEG_Y;
|
||||
tot_changed= 1;
|
||||
|
||||
// XXX... should we set min/max here too? probably not essential yet
|
||||
}
|
||||
break;
|
||||
|
||||
/* 'list/channel view' - zoom, aspect ratio, and alignment restrictions are set here */
|
||||
case V2D_COMMONVIEW_LIST:
|
||||
{
|
||||
/* zoom + aspect ratio are locked */
|
||||
v2d->keepzoom = (V2D_LOCKZOOM_X|V2D_LOCKZOOM_Y|V2D_KEEPZOOM|V2D_KEEPASPECT);
|
||||
v2d->minzoom= v2d->maxzoom= 1.0f;
|
||||
|
||||
/* tot rect has strictly regulated placement, and must only occur in +/- quadrant */
|
||||
v2d->align = (V2D_ALIGN_NO_NEG_X|V2D_ALIGN_NO_POS_Y);
|
||||
v2d->keeptot = V2D_KEEPTOT_STRICT;
|
||||
tot_changed= 1;
|
||||
|
||||
/* scroller settings are currently not set here... that is left for regions... */
|
||||
}
|
||||
break;
|
||||
|
||||
/* 'header' regions - zoom, aspect ratio, alignment, and panning restrictions are set here */
|
||||
case V2D_COMMONVIEW_HEADER:
|
||||
{
|
||||
/* zoom + aspect ratio are locked */
|
||||
v2d->keepzoom = (V2D_LOCKZOOM_X|V2D_LOCKZOOM_Y|V2D_KEEPZOOM|V2D_KEEPASPECT);
|
||||
v2d->minzoom= v2d->maxzoom= 1.0f;
|
||||
v2d->min[0]= v2d->max[0]= winx;
|
||||
v2d->min[1]= v2d->max[1]= winy;
|
||||
v2d->minzoom= 1.0f;
|
||||
v2d->maxzoom= 1.0f;
|
||||
|
||||
/* tot rect has strictly regulated placement, and must only occur in +/+ quadrant */
|
||||
v2d->align = (V2D_ALIGN_NO_NEG_X|V2D_ALIGN_NO_NEG_Y);
|
||||
v2d->keeptot = V2D_KEEPTOT_STRICT;
|
||||
tot_changed= 1;
|
||||
|
||||
/* panning in y-axis is prohibited */
|
||||
v2d->keepofs= V2D_LOCKOFS_Y;
|
||||
|
||||
/* absolutely no scrollers allowed */
|
||||
v2d->scroll= 0;
|
||||
}
|
||||
break;
|
||||
|
||||
/* 'timeline/animeditors' - only set x-axis settings (y axis settings have already been set by regions, so don't overwrite! */
|
||||
case V2D_COMMONVIEW_TIMELINE:
|
||||
{
|
||||
/* zoom on x-axis is free, but zoom factors are usually standard */
|
||||
v2d->minzoom= 0.5f;
|
||||
v2d->maxzoom= 10.0f;
|
||||
|
||||
/* size limits on x-axis are also standard */
|
||||
v2d->min[0]= 0.0f; // XXX... would 1.0f be better?
|
||||
v2d->max[0]= MAXFRAMEF;
|
||||
|
||||
/* scrollers for x-axis must be shown, and with scales */
|
||||
v2d->scroll |= (V2D_SCROLL_BOTTOM|V2D_SCROLL_SCALE_HORIZONTAL);
|
||||
|
||||
/* 'tot' rect x-axis size */
|
||||
v2d->tot.xmin= (float)(SFRA - 10);
|
||||
v2d->tot.xmax= (float)(EFRA + 10);
|
||||
v2d->cur.xmin= v2d->mask.xmin;
|
||||
v2d->cur.xmax= v2d->mask.xmax;
|
||||
tot_changed= 0; // er..
|
||||
}
|
||||
break;
|
||||
|
||||
/* other view types are completely defined using their own settings already */
|
||||
default:
|
||||
/* we don't do anything here, as settings should be fine, but just make sure that rect */
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
/* make sure that 'cur' rect is in a valid state as a result of these changes */
|
||||
/* set 'tot' rect before setting cur? */
|
||||
if (tot_changed)
|
||||
UI_view2d_totRect_set(v2d, winx, winy);
|
||||
else
|
||||
UI_view2d_curRect_validate(v2d);
|
||||
}
|
||||
|
||||
@ -254,7 +314,7 @@ void UI_view2d_curRect_validate(View2D *v2d)
|
||||
do_win= do_y;
|
||||
|
||||
if (do_cur) {
|
||||
if ((v2d->keeptot == 2) && (winx != v2d->oldwinx)) {
|
||||
if ((v2d->keeptot == V2D_KEEPTOT_STRICT) && (winx != v2d->oldwinx)) {
|
||||
/* special exception for Outliner (and later channel-lists):
|
||||
* - The view may be moved left to avoid contents being pushed out of view when view shrinks.
|
||||
* - The keeptot code will make sure cur->xmin will not be less than tot->xmin (which cannot be allowed)
|
||||
@ -321,8 +381,8 @@ void UI_view2d_curRect_validate(View2D *v2d)
|
||||
if (cur->xmin < tot->xmin) cur->xmin= tot->xmin;
|
||||
if (cur->xmax > tot->xmax) cur->xmax= tot->xmax;
|
||||
}
|
||||
else if (v2d->keeptot == 2) {
|
||||
/* This is an exception for the outliner (and later channel-lists)
|
||||
else if (v2d->keeptot == V2D_KEEPTOT_STRICT) {
|
||||
/* This is an exception for the outliner (and later channel-lists, headers)
|
||||
* - must clamp within tot rect (absolutely no excuses)
|
||||
* --> therefore, cur->xmin must not be less than tot->xmin
|
||||
*/
|
||||
@ -441,7 +501,9 @@ void UI_view2d_curRect_validate(View2D *v2d)
|
||||
|
||||
/* ------------------ */
|
||||
|
||||
/* Restore 'cur' rect to standard orientation (i.e. optimal maximum view of tot) */
|
||||
/* Restore 'cur' rect to standard orientation (i.e. optimal maximum view of tot)
|
||||
* This does not take into account if zooming the view on an axis will improve the view (if allowed)
|
||||
*/
|
||||
void UI_view2d_curRect_reset (View2D *v2d)
|
||||
{
|
||||
float width, height;
|
||||
@ -950,9 +1012,6 @@ View2DScrollers *UI_view2d_scrollers_calc(const bContext *C, View2D *v2d, short
|
||||
return scrollers;
|
||||
}
|
||||
|
||||
/* XXX */
|
||||
extern void ui_rasterpos_safe(float x, float y, float aspect);
|
||||
|
||||
/* Print scale marking along a time scrollbar */
|
||||
static void scroll_printstr(View2DScrollers *scrollers, float x, float y, float val, int power, short unit, char dir)
|
||||
{
|
||||
|
@ -716,7 +716,7 @@ static int view_zoomdrag_modal(bContext *C, wmOperator *op, wmEvent *event)
|
||||
float dx, dy;
|
||||
|
||||
/* calculate new delta transform, based on zooming mode */
|
||||
if (U.viewzoom == USER_ZOOM_SCALE) { // XXX store this setting as RNA prop?
|
||||
if (U.viewzoom == USER_ZOOM_SCALE) {
|
||||
/* 'scale' zooming */
|
||||
float dist;
|
||||
|
||||
|
@ -79,7 +79,6 @@ static SpaceLink *action_new(void)
|
||||
BLI_addtail(&saction->regionbase, ar);
|
||||
ar->regiontype= RGN_TYPE_HEADER;
|
||||
ar->alignment= RGN_ALIGN_BOTTOM;
|
||||
UI_view2d_header_default(&ar->v2d);
|
||||
|
||||
/* main area */
|
||||
ar= MEM_callocN(sizeof(ARegion), "main area for action");
|
||||
@ -92,23 +91,13 @@ static SpaceLink *action_new(void)
|
||||
ar->v2d.tot.xmax= 1000.0f;
|
||||
ar->v2d.tot.ymax= 0.0f;
|
||||
|
||||
ar->v2d.cur.xmin= -5.0f;
|
||||
ar->v2d.cur.ymin= -75.0f;
|
||||
ar->v2d.cur.xmax= 65.0f;
|
||||
ar->v2d.cur.ymax= 5.0f;
|
||||
|
||||
ar->v2d.min[0]= 0.0f;
|
||||
ar->v2d.min[1]= 0.0f;
|
||||
|
||||
ar->v2d.max[0]= MAXFRAMEF;
|
||||
ar->v2d.max[1]= 1000.0f;
|
||||
|
||||
ar->v2d.minzoom= 0.01f;
|
||||
ar->v2d.maxzoom= 50;
|
||||
ar->v2d.scroll = V2D_SCROLL_RIGHT;
|
||||
|
||||
ar->v2d.scroll |= (V2D_SCROLL_BOTTOM|V2D_SCROLL_SCALE_HORIZONTAL);
|
||||
ar->v2d.scroll |= (V2D_SCROLL_RIGHT);
|
||||
saction->v2d.keepzoom= V2D_LOCKZOOM_Y;
|
||||
ar->v2d.align= saction->v2d.align= V2D_ALIGN_NO_POS_Y;
|
||||
ar->v2d.keepzoom= saction->v2d.keepzoom= V2D_LOCKZOOM_Y;
|
||||
|
||||
/* channel list region XXX */
|
||||
ar= MEM_callocN(sizeof(ARegion), "area region from do_versions");
|
||||
@ -150,7 +139,7 @@ static void action_main_area_init(wmWindowManager *wm, ARegion *ar)
|
||||
{
|
||||
ListBase *keymap;
|
||||
|
||||
UI_view2d_size_update(&ar->v2d, ar->winx, ar->winy);
|
||||
UI_view2d_region_reinit(&ar->v2d, V2D_COMMONVIEW_TIMELINE, ar->winx, ar->winy);
|
||||
|
||||
/* own keymap */
|
||||
keymap= WM_keymap_listbase(wm, "Action", SPACE_ACTION, 0); /* XXX weak? */
|
||||
@ -193,7 +182,7 @@ void action_keymap(struct wmWindowManager *wm)
|
||||
/* add handlers, stuff you only do once or on area/region changes */
|
||||
static void action_header_area_init(wmWindowManager *wm, ARegion *ar)
|
||||
{
|
||||
UI_view2d_size_update(&ar->v2d, ar->winx, ar->winy);
|
||||
UI_view2d_region_reinit(&ar->v2d, V2D_COMMONVIEW_HEADER, ar->winx, ar->winy);
|
||||
}
|
||||
|
||||
static void action_header_area_draw(const bContext *C, ARegion *ar)
|
||||
@ -262,7 +251,7 @@ void ED_spacetype_action(void)
|
||||
/* regions: channels */
|
||||
art= MEM_callocN(sizeof(ARegionType), "spacetype action region");
|
||||
art->regionid = RGN_TYPE_CHANNELS;
|
||||
art->minsizex= 80;
|
||||
art->minsizex = 200;
|
||||
art->keymapflag= ED_KEYMAP_UI|ED_KEYMAP_VIEW2D;
|
||||
|
||||
//art->init= action_channel_area_init;
|
||||
|
@ -77,7 +77,6 @@ static SpaceLink *buttons_new(void)
|
||||
BLI_addtail(&sbuts->regionbase, ar);
|
||||
ar->regiontype= RGN_TYPE_HEADER;
|
||||
ar->alignment= RGN_ALIGN_BOTTOM;
|
||||
UI_view2d_header_default(&ar->v2d);
|
||||
|
||||
/* main area */
|
||||
ar= MEM_callocN(sizeof(ARegion), "main area for buts");
|
||||
@ -102,6 +101,7 @@ static SpaceLink *buttons_new(void)
|
||||
sbuts->v2d.maxzoom= 1.21f;
|
||||
|
||||
sbuts->v2d.scroll= 0; // TODO: will we need scrollbars?
|
||||
sbuts->v2d.align= V2D_ALIGN_NO_NEG_X|V2D_ALIGN_NO_NEG_Y;
|
||||
sbuts->v2d.keepzoom= V2D_KEEPZOOM|V2D_KEEPASPECT;
|
||||
sbuts->v2d.keeptot= 1;
|
||||
sbuts->v2d.cur= sbuts->v2d.tot;
|
||||
@ -146,7 +146,7 @@ static void buttons_main_area_init(wmWindowManager *wm, ARegion *ar)
|
||||
{
|
||||
ListBase *keymap;
|
||||
|
||||
UI_view2d_size_update(&ar->v2d, ar->winx, ar->winy);
|
||||
UI_view2d_region_reinit(&ar->v2d, V2D_COMMONVIEW_CUSTOM, ar->winx, ar->winy);
|
||||
|
||||
/* own keymap */
|
||||
keymap= WM_keymap_listbase(wm, "Buttons", SPACE_BUTS, 0); /* XXX weak? */
|
||||
@ -189,7 +189,7 @@ void buttons_keymap(struct wmWindowManager *wm)
|
||||
/* add handlers, stuff you only do once or on area/region changes */
|
||||
static void buttons_header_area_init(wmWindowManager *wm, ARegion *ar)
|
||||
{
|
||||
UI_view2d_size_update(&ar->v2d, ar->winx, ar->winy);
|
||||
UI_view2d_region_reinit(&ar->v2d, V2D_COMMONVIEW_HEADER, ar->winx, ar->winy);
|
||||
}
|
||||
|
||||
static void buttons_header_area_draw(const bContext *C, ARegion *ar)
|
||||
|
@ -81,7 +81,6 @@ static SpaceLink *file_new(void)
|
||||
BLI_addtail(&sfile->regionbase, ar);
|
||||
ar->regiontype= RGN_TYPE_HEADER;
|
||||
ar->alignment= RGN_ALIGN_BOTTOM;
|
||||
UI_view2d_header_default(&ar->v2d);
|
||||
|
||||
/* main area */
|
||||
ar= MEM_callocN(sizeof(ARegion), "main area for file");
|
||||
@ -132,7 +131,7 @@ static void file_main_area_init(wmWindowManager *wm, ARegion *ar)
|
||||
{
|
||||
ListBase *keymap;
|
||||
|
||||
UI_view2d_size_update(&ar->v2d, ar->winx, ar->winy);
|
||||
UI_view2d_region_reinit(&ar->v2d, V2D_COMMONVIEW_LIST, ar->winx, ar->winy);
|
||||
|
||||
/* own keymap */
|
||||
keymap= WM_keymap_listbase(wm, "File", SPACE_FILE, 0); /* XXX weak? */
|
||||
@ -175,7 +174,7 @@ void file_keymap(struct wmWindowManager *wm)
|
||||
/* add handlers, stuff you only do once or on area/region changes */
|
||||
static void file_header_area_init(wmWindowManager *wm, ARegion *ar)
|
||||
{
|
||||
UI_view2d_size_update(&ar->v2d, ar->winx, ar->winy);
|
||||
UI_view2d_region_reinit(&ar->v2d, V2D_COMMONVIEW_HEADER, ar->winx, ar->winy);
|
||||
}
|
||||
|
||||
static void file_header_area_draw(const bContext *C, ARegion *ar)
|
||||
@ -233,7 +232,6 @@ void ED_spacetype_file(void)
|
||||
/* regions: header */
|
||||
art= MEM_callocN(sizeof(ARegionType), "spacetype file region");
|
||||
art->regionid = RGN_TYPE_HEADER;
|
||||
art->minsizey= HEADERY;
|
||||
art->keymapflag= ED_KEYMAP_UI|ED_KEYMAP_VIEW2D;
|
||||
|
||||
art->init= file_header_area_init;
|
||||
@ -244,7 +242,6 @@ void ED_spacetype_file(void)
|
||||
/* regions: channels */
|
||||
art= MEM_callocN(sizeof(ARegionType), "spacetype file region");
|
||||
art->regionid = RGN_TYPE_CHANNELS;
|
||||
art->minsizex= 80;
|
||||
art->keymapflag= ED_KEYMAP_UI|ED_KEYMAP_VIEW2D;
|
||||
|
||||
// art->init= file_channel_area_init;
|
||||
|
@ -83,7 +83,6 @@ static SpaceLink *image_new(void)
|
||||
BLI_addtail(&simage->regionbase, ar);
|
||||
ar->regiontype= RGN_TYPE_HEADER;
|
||||
ar->alignment= RGN_ALIGN_BOTTOM;
|
||||
UI_view2d_header_default(&ar->v2d);
|
||||
|
||||
/* main area */
|
||||
ar= MEM_callocN(sizeof(ARegion), "main area for image");
|
||||
@ -132,7 +131,7 @@ static void image_main_area_init(wmWindowManager *wm, ARegion *ar)
|
||||
{
|
||||
ListBase *keymap;
|
||||
|
||||
UI_view2d_size_update(&ar->v2d, ar->winx, ar->winy);
|
||||
UI_view2d_region_reinit(&ar->v2d, V2D_COMMONVIEW_VIEWCANVAS, ar->winx, ar->winy);
|
||||
|
||||
/* own keymap */
|
||||
keymap= WM_keymap_listbase(wm, "Image", SPACE_IMAGE, 0); /* XXX weak? */
|
||||
@ -175,7 +174,7 @@ void image_keymap(struct wmWindowManager *wm)
|
||||
/* add handlers, stuff you only do once or on area/region changes */
|
||||
static void image_header_area_init(wmWindowManager *wm, ARegion *ar)
|
||||
{
|
||||
UI_view2d_size_update(&ar->v2d, ar->winx, ar->winy);
|
||||
UI_view2d_region_reinit(&ar->v2d, V2D_COMMONVIEW_HEADER, ar->winx, ar->winy);
|
||||
}
|
||||
|
||||
static void image_header_area_draw(const bContext *C, ARegion *ar)
|
||||
|
@ -76,7 +76,6 @@ static SpaceLink *info_new(void)
|
||||
BLI_addtail(&sinfo->regionbase, ar);
|
||||
ar->regiontype= RGN_TYPE_HEADER;
|
||||
ar->alignment= RGN_ALIGN_BOTTOM;
|
||||
UI_view2d_header_default(&ar->v2d);
|
||||
|
||||
/* main area */
|
||||
ar= MEM_callocN(sizeof(ARegion), "main area for info");
|
||||
@ -120,7 +119,7 @@ static void info_main_area_init(wmWindowManager *wm, ARegion *ar)
|
||||
{
|
||||
ListBase *keymap;
|
||||
|
||||
UI_view2d_size_update(&ar->v2d, ar->winx, ar->winy);
|
||||
UI_view2d_region_reinit(&ar->v2d, V2D_COMMONVIEW_VIEWCANVAS, ar->winx, ar->winy);
|
||||
|
||||
/* own keymap */
|
||||
keymap= WM_keymap_listbase(wm, "info", SPACE_INFO, 0); /* XXX weak? */
|
||||
@ -163,7 +162,7 @@ void info_keymap(struct wmWindowManager *wm)
|
||||
/* add handlers, stuff you only do once or on area/region changes */
|
||||
static void info_header_area_init(wmWindowManager *wm, ARegion *ar)
|
||||
{
|
||||
UI_view2d_size_update(&ar->v2d, ar->winx, ar->winy);
|
||||
UI_view2d_region_reinit(&ar->v2d, V2D_COMMONVIEW_HEADER, ar->winx, ar->winy);
|
||||
}
|
||||
|
||||
static void info_header_area_draw(const bContext *C, ARegion *ar)
|
||||
|
@ -77,7 +77,6 @@ static SpaceLink *ipo_new(void)
|
||||
BLI_addtail(&sipo->regionbase, ar);
|
||||
ar->regiontype= RGN_TYPE_HEADER;
|
||||
ar->alignment= RGN_ALIGN_BOTTOM;
|
||||
UI_view2d_header_default(&ar->v2d);
|
||||
|
||||
/* channels */
|
||||
ar= MEM_callocN(sizeof(ARegion), "main area for ipo");
|
||||
@ -195,7 +194,7 @@ static void ipo_main_area_init(wmWindowManager *wm, ARegion *ar)
|
||||
{
|
||||
ListBase *keymap;
|
||||
|
||||
UI_view2d_size_update(&ar->v2d, ar->winx, ar->winy);
|
||||
UI_view2d_region_reinit(&ar->v2d, V2D_COMMONVIEW_TIMELINE, ar->winx, ar->winy);
|
||||
|
||||
/* own keymap */
|
||||
keymap= WM_keymap_listbase(wm, "Ipo", SPACE_IPO, 0); /* XXX weak? */
|
||||
@ -266,7 +265,7 @@ static void ipo_channel_area_draw(const bContext *C, ARegion *ar)
|
||||
/* add handlers, stuff you only do once or on area/region changes */
|
||||
static void ipo_header_area_init(wmWindowManager *wm, ARegion *ar)
|
||||
{
|
||||
UI_view2d_size_update(&ar->v2d, ar->winx, ar->winy);
|
||||
UI_view2d_region_reinit(&ar->v2d, V2D_COMMONVIEW_HEADER, ar->winx, ar->winy);
|
||||
}
|
||||
|
||||
static void ipo_header_area_draw(const bContext *C, ARegion *ar)
|
||||
@ -335,7 +334,7 @@ void ED_spacetype_ipo(void)
|
||||
/* regions: channels */
|
||||
art= MEM_callocN(sizeof(ARegionType), "spacetype ipo region");
|
||||
art->regionid = RGN_TYPE_CHANNELS;
|
||||
art->minsizex= 80;
|
||||
art->minsizex= 200;
|
||||
art->keymapflag= ED_KEYMAP_UI|ED_KEYMAP_VIEW2D;
|
||||
|
||||
// art->init= ipo_channel_area_init;
|
||||
|
@ -77,7 +77,6 @@ static SpaceLink *nla_new(void)
|
||||
BLI_addtail(&snla->regionbase, ar);
|
||||
ar->regiontype= RGN_TYPE_HEADER;
|
||||
ar->alignment= RGN_ALIGN_BOTTOM;
|
||||
UI_view2d_header_default(&ar->v2d);
|
||||
|
||||
/* main area */
|
||||
ar= MEM_callocN(sizeof(ARegion), "main area for nla");
|
||||
@ -149,7 +148,7 @@ static void nla_main_area_init(wmWindowManager *wm, ARegion *ar)
|
||||
{
|
||||
ListBase *keymap;
|
||||
|
||||
UI_view2d_size_update(&ar->v2d, ar->winx, ar->winy);
|
||||
UI_view2d_region_reinit(&ar->v2d, V2D_COMMONVIEW_TIMELINE, ar->winx, ar->winy);
|
||||
|
||||
/* own keymap */
|
||||
keymap= WM_keymap_listbase(wm, "NLA", SPACE_NLA, 0); /* XXX weak? */
|
||||
@ -192,7 +191,7 @@ void nla_keymap(struct wmWindowManager *wm)
|
||||
/* add handlers, stuff you only do once or on area/region changes */
|
||||
static void nla_header_area_init(wmWindowManager *wm, ARegion *ar)
|
||||
{
|
||||
UI_view2d_size_update(&ar->v2d, ar->winx, ar->winy);
|
||||
UI_view2d_region_reinit(&ar->v2d, V2D_COMMONVIEW_HEADER, ar->winx, ar->winy);
|
||||
}
|
||||
|
||||
static void nla_header_area_draw(const bContext *C, ARegion *ar)
|
||||
@ -261,7 +260,7 @@ void ED_spacetype_nla(void)
|
||||
/* regions: channels */
|
||||
art= MEM_callocN(sizeof(ARegionType), "spacetype nla region");
|
||||
art->regionid = RGN_TYPE_CHANNELS;
|
||||
art->minsizex= 80;
|
||||
art->minsizex= 200;
|
||||
art->keymapflag= ED_KEYMAP_UI|ED_KEYMAP_VIEW2D;
|
||||
|
||||
//art->init= nla_channel_area_init;
|
||||
|
@ -75,7 +75,6 @@ static SpaceLink *node_new(void)
|
||||
BLI_addtail(&snode->regionbase, ar);
|
||||
ar->regiontype= RGN_TYPE_HEADER;
|
||||
ar->alignment= RGN_ALIGN_BOTTOM;
|
||||
UI_view2d_header_default(&ar->v2d);
|
||||
|
||||
/* main area */
|
||||
ar= MEM_callocN(sizeof(ARegion), "main area for node");
|
||||
@ -143,7 +142,7 @@ static void node_main_area_init(wmWindowManager *wm, ARegion *ar)
|
||||
{
|
||||
ListBase *keymap;
|
||||
|
||||
UI_view2d_size_update(&ar->v2d, ar->winx, ar->winy);
|
||||
UI_view2d_region_reinit(&ar->v2d, V2D_COMMONVIEW_VIEWCANVAS, ar->winx, ar->winy);
|
||||
|
||||
/* own keymap */
|
||||
keymap= WM_keymap_listbase(wm, "Node", SPACE_NODE, 0); /* XXX weak? */
|
||||
@ -186,7 +185,7 @@ void node_keymap(struct wmWindowManager *wm)
|
||||
/* add handlers, stuff you only do once or on area/region changes */
|
||||
static void node_header_area_init(wmWindowManager *wm, ARegion *ar)
|
||||
{
|
||||
UI_view2d_size_update(&ar->v2d, ar->winx, ar->winy);
|
||||
UI_view2d_region_reinit(&ar->v2d, V2D_COMMONVIEW_HEADER, ar->winx, ar->winy);
|
||||
}
|
||||
|
||||
static void node_header_area_draw(const bContext *C, ARegion *ar)
|
||||
|
@ -394,8 +394,7 @@ static void rna_table_cell_func(void *userdata, int row, int col, rcti *rct, uiB
|
||||
|
||||
static void outliner_main_area_init(wmWindowManager *wm, ARegion *ar)
|
||||
{
|
||||
UI_view2d_size_update(&ar->v2d, ar->winx, ar->winy);
|
||||
|
||||
UI_view2d_region_reinit(&ar->v2d, V2D_COMMONVIEW_LIST, ar->winx, ar->winy);
|
||||
}
|
||||
|
||||
static void outliner_main_area_draw(const bContext *C, ARegion *ar)
|
||||
@ -505,7 +504,7 @@ static void outliner_main_area_free(ARegion *ar)
|
||||
/* add handlers, stuff you only do once or on area/region changes */
|
||||
static void outliner_header_area_init(wmWindowManager *wm, ARegion *ar)
|
||||
{
|
||||
UI_view2d_size_update(&ar->v2d, ar->winx, ar->winy);
|
||||
UI_view2d_region_reinit(&ar->v2d, V2D_COMMONVIEW_HEADER, ar->winx, ar->winy);
|
||||
}
|
||||
|
||||
static void outliner_header_area_draw(const bContext *C, ARegion *ar)
|
||||
@ -545,7 +544,6 @@ static SpaceLink *outliner_new(void)
|
||||
BLI_addtail(&soutliner->regionbase, ar);
|
||||
ar->regiontype= RGN_TYPE_HEADER;
|
||||
ar->alignment= RGN_ALIGN_BOTTOM;
|
||||
UI_view2d_header_default(&ar->v2d);
|
||||
|
||||
/* main area */
|
||||
ar= MEM_callocN(sizeof(ARegion), "main area for outliner");
|
||||
|
@ -77,7 +77,6 @@ static SpaceLink *script_new(void)
|
||||
BLI_addtail(&sscript->regionbase, ar);
|
||||
ar->regiontype= RGN_TYPE_HEADER;
|
||||
ar->alignment= RGN_ALIGN_BOTTOM;
|
||||
UI_view2d_header_default(&ar->v2d);
|
||||
|
||||
/* main area */
|
||||
ar= MEM_callocN(sizeof(ARegion), "main area for script");
|
||||
@ -130,7 +129,7 @@ static void script_main_area_init(wmWindowManager *wm, ARegion *ar)
|
||||
{
|
||||
ListBase *keymap;
|
||||
|
||||
UI_view2d_size_update(&ar->v2d, ar->winx, ar->winy);
|
||||
UI_view2d_region_reinit(&ar->v2d, V2D_COMMONVIEW_VIEWCANVAS, ar->winx, ar->winy);
|
||||
|
||||
/* own keymap */
|
||||
keymap= WM_keymap_listbase(wm, "Script", SPACE_SCRIPT, 0); /* XXX weak? */
|
||||
@ -173,7 +172,7 @@ void script_keymap(struct wmWindowManager *wm)
|
||||
/* add handlers, stuff you only do once or on area/region changes */
|
||||
static void script_header_area_init(wmWindowManager *wm, ARegion *ar)
|
||||
{
|
||||
UI_view2d_size_update(&ar->v2d, ar->winx, ar->winy);
|
||||
UI_view2d_region_reinit(&ar->v2d, V2D_COMMONVIEW_HEADER, ar->winx, ar->winy);
|
||||
}
|
||||
|
||||
static void script_header_area_draw(const bContext *C, ARegion *ar)
|
||||
|
@ -79,7 +79,6 @@ static SpaceLink *sequencer_new(void)
|
||||
BLI_addtail(&sseq->regionbase, ar);
|
||||
ar->regiontype= RGN_TYPE_HEADER;
|
||||
ar->alignment= RGN_ALIGN_BOTTOM;
|
||||
UI_view2d_header_default(&ar->v2d);
|
||||
|
||||
/* main area */
|
||||
ar= MEM_callocN(sizeof(ARegion), "main area for sequencer");
|
||||
@ -149,7 +148,7 @@ static void sequencer_main_area_init(wmWindowManager *wm, ARegion *ar)
|
||||
{
|
||||
ListBase *keymap;
|
||||
|
||||
UI_view2d_size_update(&ar->v2d, ar->winx, ar->winy);
|
||||
UI_view2d_region_reinit(&ar->v2d, V2D_COMMONVIEW_TIMELINE, ar->winx, ar->winy);
|
||||
|
||||
/* own keymap */
|
||||
keymap= WM_keymap_listbase(wm, "Sequencer", SPACE_SEQ, 0); /* XXX weak? */
|
||||
@ -192,7 +191,7 @@ void sequencer_keymap(struct wmWindowManager *wm)
|
||||
/* add handlers, stuff you only do once or on area/region changes */
|
||||
static void sequencer_header_area_init(wmWindowManager *wm, ARegion *ar)
|
||||
{
|
||||
UI_view2d_size_update(&ar->v2d, ar->winx, ar->winy);
|
||||
UI_view2d_region_reinit(&ar->v2d, V2D_COMMONVIEW_HEADER, ar->winx, ar->winy);
|
||||
}
|
||||
|
||||
static void sequencer_header_area_draw(const bContext *C, ARegion *ar)
|
||||
|
@ -77,7 +77,6 @@ static SpaceLink *sound_new(void)
|
||||
BLI_addtail(&ssound->regionbase, ar);
|
||||
ar->regiontype= RGN_TYPE_HEADER;
|
||||
ar->alignment= RGN_ALIGN_BOTTOM;
|
||||
UI_view2d_header_default(&ar->v2d);
|
||||
|
||||
/* main area */
|
||||
ar= MEM_callocN(sizeof(ARegion), "main area for sound");
|
||||
@ -108,6 +107,7 @@ static SpaceLink *sound_new(void)
|
||||
ar->v2d.scroll |= (V2D_SCROLL_LEFT);
|
||||
ar->v2d.keepzoom= 0;
|
||||
ar->v2d.keeptot= 0;
|
||||
ar->v2d.keepzoom = V2D_LOCKZOOM_Y;
|
||||
|
||||
|
||||
return (SpaceLink *)ssound;
|
||||
@ -144,7 +144,7 @@ static void sound_main_area_init(wmWindowManager *wm, ARegion *ar)
|
||||
{
|
||||
ListBase *keymap;
|
||||
|
||||
UI_view2d_size_update(&ar->v2d, ar->winx, ar->winy);
|
||||
UI_view2d_region_reinit(&ar->v2d, V2D_COMMONVIEW_TIMELINE, ar->winx, ar->winy);
|
||||
|
||||
/* own keymap */
|
||||
keymap= WM_keymap_listbase(wm, "Sound", SPACE_SOUND, 0); /* XXX weak? */
|
||||
@ -187,7 +187,7 @@ void sound_keymap(struct wmWindowManager *wm)
|
||||
/* add handlers, stuff you only do once or on area/region changes */
|
||||
static void sound_header_area_init(wmWindowManager *wm, ARegion *ar)
|
||||
{
|
||||
UI_view2d_size_update(&ar->v2d, ar->winx, ar->winy);
|
||||
UI_view2d_region_reinit(&ar->v2d, V2D_COMMONVIEW_HEADER, ar->winx, ar->winy);
|
||||
}
|
||||
|
||||
static void sound_header_area_draw(const bContext *C, ARegion *ar)
|
||||
|
@ -78,7 +78,6 @@ static SpaceLink *text_new(void)
|
||||
BLI_addtail(&stext->regionbase, ar);
|
||||
ar->regiontype= RGN_TYPE_HEADER;
|
||||
ar->alignment= RGN_ALIGN_BOTTOM;
|
||||
UI_view2d_header_default(&ar->v2d);
|
||||
|
||||
/* main area */
|
||||
ar= MEM_callocN(sizeof(ARegion), "main area for text");
|
||||
@ -123,7 +122,7 @@ static void text_main_area_init(wmWindowManager *wm, ARegion *ar)
|
||||
{
|
||||
ListBase *keymap;
|
||||
|
||||
UI_view2d_size_update(&ar->v2d, ar->winx, ar->winy);
|
||||
UI_view2d_region_reinit(&ar->v2d, V2D_COMMONVIEW_VIEWCANVAS, ar->winx, ar->winy);
|
||||
|
||||
/* own keymap */
|
||||
keymap= WM_keymap_listbase(wm, "Text", SPACE_TEXT, 0); /* XXX weak? */
|
||||
@ -174,7 +173,7 @@ static void text_keymap(struct wmWindowManager *wm)
|
||||
/* add handlers, stuff you only do once or on area/region changes */
|
||||
static void text_header_area_init(wmWindowManager *wm, ARegion *ar)
|
||||
{
|
||||
UI_view2d_size_update(&ar->v2d, ar->winx, ar->winy);
|
||||
UI_view2d_region_reinit(&ar->v2d, V2D_COMMONVIEW_HEADER, ar->winx, ar->winy);
|
||||
}
|
||||
|
||||
static void text_header_area_draw(const bContext *C, ARegion *ar)
|
||||
|
@ -109,7 +109,7 @@ static void time_main_area_init(wmWindowManager *wm, ARegion *ar)
|
||||
{
|
||||
ListBase *keymap;
|
||||
|
||||
UI_view2d_size_update(&ar->v2d, ar->winx, ar->winy);
|
||||
UI_view2d_region_reinit(&ar->v2d, V2D_COMMONVIEW_TIMELINE, ar->winx, ar->winy);
|
||||
|
||||
/* own keymap */
|
||||
keymap= WM_keymap_listbase(wm, "TimeLine", SPACE_TIME, 0); /* XXX weak? */
|
||||
@ -178,7 +178,7 @@ static void time_main_area_listener(ARegion *ar, wmNotifier *wmn)
|
||||
/* add handlers, stuff you only do once or on area/region changes */
|
||||
static void time_header_area_init(wmWindowManager *wm, ARegion *ar)
|
||||
{
|
||||
UI_view2d_size_update(&ar->v2d, ar->winx, ar->winy);
|
||||
UI_view2d_region_reinit(&ar->v2d, V2D_COMMONVIEW_HEADER, ar->winx, ar->winy);
|
||||
}
|
||||
|
||||
static void time_header_area_draw(const bContext *C, ARegion *ar)
|
||||
@ -223,7 +223,6 @@ static SpaceLink *time_new(void)
|
||||
BLI_addtail(&stime->regionbase, ar);
|
||||
ar->regiontype= RGN_TYPE_HEADER;
|
||||
ar->alignment= RGN_ALIGN_BOTTOM;
|
||||
UI_view2d_header_default(&ar->v2d);
|
||||
|
||||
/* main area */
|
||||
ar= MEM_callocN(sizeof(ARegion), "main area for time");
|
||||
@ -231,26 +230,18 @@ static SpaceLink *time_new(void)
|
||||
BLI_addtail(&stime->regionbase, ar);
|
||||
ar->regiontype= RGN_TYPE_WINDOW;
|
||||
|
||||
ar->v2d.tot.xmin= -4.0;
|
||||
ar->v2d.tot.ymin= 0.0;
|
||||
ar->v2d.tot.xmax= (float)EFRA + 4.0;
|
||||
ar->v2d.tot.ymax= 50.0;
|
||||
/* only need to set y-locks for view2d of main area,
|
||||
* as the rest is taken care of by View2D preset for TimeGrids
|
||||
*/
|
||||
ar->v2d.min[1]= 20.0;
|
||||
ar->v2d.max[1]= 20.0;
|
||||
|
||||
ar->v2d.cur= ar->v2d.tot;
|
||||
ar->v2d.cur.ymin= ar->v2d.tot.ymin= 0.0f;
|
||||
ar->v2d.cur.ymax= ar->v2d.tot.ymax= 20.0f;
|
||||
|
||||
ar->v2d.min[0]= 1.0;
|
||||
ar->v2d.min[1]= 50.0;
|
||||
|
||||
ar->v2d.max[0]= 32000.0;
|
||||
ar->v2d.max[1]= 50.0;
|
||||
|
||||
ar->v2d.minzoom= 0.1f;
|
||||
ar->v2d.maxzoom= 10.0;
|
||||
|
||||
ar->v2d.scroll |= (V2D_SCROLL_BOTTOM|V2D_SCROLL_SCALE_HORIZONTAL);
|
||||
ar->v2d.align |= V2D_ALIGN_NO_NEG_Y;
|
||||
ar->v2d.keepofs |= V2D_LOCKOFS_Y;
|
||||
ar->v2d.keepzoom |= V2D_LOCKZOOM_Y;
|
||||
ar->v2d.align = V2D_ALIGN_NO_NEG_Y;
|
||||
ar->v2d.keepofs = V2D_LOCKOFS_Y;
|
||||
ar->v2d.keepzoom = V2D_LOCKZOOM_Y;
|
||||
|
||||
return (SpaceLink*)stime;
|
||||
}
|
||||
|
@ -101,7 +101,6 @@ static SpaceLink *view3d_new(void)
|
||||
BLI_addtail(&vd->regionbase, ar);
|
||||
ar->regiontype= RGN_TYPE_HEADER;
|
||||
ar->alignment= RGN_ALIGN_BOTTOM;
|
||||
UI_view2d_header_default(&ar->v2d);
|
||||
|
||||
/* main area */
|
||||
ar= MEM_callocN(sizeof(ARegion), "main area for view3d");
|
||||
@ -202,7 +201,7 @@ static void view3d_main_area_draw(const bContext *C, ARegion *ar)
|
||||
/* add handlers, stuff you only do once or on area/region changes */
|
||||
static void view3d_header_area_init(wmWindowManager *wm, ARegion *ar)
|
||||
{
|
||||
UI_view2d_size_update(&ar->v2d, ar->winx, ar->winy);
|
||||
UI_view2d_region_reinit(&ar->v2d, V2D_COMMONVIEW_HEADER, ar->winx, ar->winy);
|
||||
}
|
||||
|
||||
static void view3d_header_area_draw(const bContext *C, ARegion *ar)
|
||||
|
@ -93,7 +93,7 @@ typedef struct View2D {
|
||||
/* within region view2d vertical locking */
|
||||
#define V2D_VIEWSYNC_Y (1<<1)
|
||||
/* view settings need to be set still... */
|
||||
#define V2D_NEEDS_INIT (1<<10)
|
||||
#define V2D_IS_INITIALISED (1<<10)
|
||||
|
||||
/* scroller flags for View2D (v2d->scroll) */
|
||||
/* left scrollbar */
|
||||
|
Loading…
Reference in New Issue
Block a user