use BKE_area_find_region_type in place of inline loops (no functional changes).

This commit is contained in:
Campbell Barton 2011-05-20 05:27:31 +00:00
parent 984d2e42e4
commit 170716ca53
16 changed files with 84 additions and 144 deletions

@ -44,6 +44,7 @@
#include "BLI_utildefines.h"
#include "BKE_context.h"
#include "BKE_screen.h"
#include "BKE_global.h"
@ -1959,17 +1960,14 @@ View2D *UI_view2d_fromcontext(const bContext *C)
/* same as above, but it returns regionwindow. Utility for pulldowns or buttons */
View2D *UI_view2d_fromcontext_rwin(const bContext *C)
{
ScrArea *area= CTX_wm_area(C);
ScrArea *sa= CTX_wm_area(C);
ARegion *region= CTX_wm_region(C);
if (area == NULL) return NULL;
if (sa == NULL) return NULL;
if (region == NULL) return NULL;
if (region->regiontype!=RGN_TYPE_WINDOW) {
ARegion *ar= area->regionbase.first;
for(; ar; ar= ar->next)
if(ar->regiontype==RGN_TYPE_WINDOW)
return &(ar->v2d);
return NULL;
ARegion *ar= BKE_area_find_region_type(sa, RGN_TYPE_WINDOW);
return ar ? &(ar->v2d) : NULL;
}
return &(region->v2d);
}

@ -873,13 +873,11 @@ static void ed_default_handlers(wmWindowManager *wm, ScrArea *sa, ListBase *hand
if(sa->spacetype!=SPACE_TIME) {
ARegion *ar;
static rcti rect= {0, 10000, 0, 30}; /* same local check for all areas */
for(ar= sa->regionbase.first; ar; ar= ar->next)
if(ar->regiontype == RGN_TYPE_WINDOW)
break;
if(ar)
ar= BKE_area_find_region_type(sa, RGN_TYPE_WINDOW);
if(ar) {
WM_event_add_keymap_handler_bb(handlers, keymap, &rect, &ar->winrct);
}
}
else
WM_event_add_keymap_handler(handlers, keymap);
}

@ -2616,12 +2616,7 @@ static int header_flip_exec(bContext *C, wmOperator *UNUSED(op))
*/
if((ar == NULL) || (ar->regiontype != RGN_TYPE_HEADER)) {
ScrArea *sa= CTX_wm_area(C);
/* loop over all regions until a matching one is found */
for (ar= sa->regionbase.first; ar; ar= ar->next) {
if(ar->regiontype == RGN_TYPE_HEADER)
break;
}
ARegion *ar= BKE_area_find_region_type(sa, RGN_TYPE_HEADER);
/* don't do anything if no region */
if(ar == NULL)

@ -71,16 +71,11 @@ ARegion *graph_has_buttons_region(ScrArea *sa)
{
ARegion *ar, *arnew;
for (ar= sa->regionbase.first; ar; ar= ar->next) {
if (ar->regiontype==RGN_TYPE_UI)
return ar;
}
ar= BKE_area_find_region_type(sa, RGN_TYPE_UI);
if(ar) return ar;
/* add subdiv level; after main */
for (ar= sa->regionbase.first; ar; ar= ar->next) {
if (ar->regiontype==RGN_TYPE_WINDOW)
break;
}
ar= BKE_area_find_region_type(sa, RGN_TYPE_WINDOW);
/* is error! */
if (ar==NULL) return NULL;

@ -329,14 +329,11 @@ ARegion *image_has_buttons_region(ScrArea *sa)
{
ARegion *ar, *arnew;
for(ar= sa->regionbase.first; ar; ar= ar->next)
if(ar->regiontype==RGN_TYPE_UI)
return ar;
ar= BKE_area_find_region_type(sa, RGN_TYPE_UI);
if(ar) return ar;
/* add subdiv level; after header */
for(ar= sa->regionbase.first; ar; ar= ar->next)
if(ar->regiontype==RGN_TYPE_HEADER)
break;
ar= BKE_area_find_region_type(sa, RGN_TYPE_HEADER);
/* is error! */
if(ar==NULL) return NULL;
@ -356,14 +353,11 @@ ARegion *image_has_scope_region(ScrArea *sa)
{
ARegion *ar, *arnew;
for(ar= sa->regionbase.first; ar; ar= ar->next)
if(ar->regiontype==RGN_TYPE_PREVIEW)
return ar;
ar= BKE_area_find_region_type(sa, RGN_TYPE_PREVIEW);
if(ar) return ar;
/* add subdiv level; after buttons */
for(ar= sa->regionbase.first; ar; ar= ar->next)
if(ar->regiontype==RGN_TYPE_UI)
break;
ar= BKE_area_find_region_type(sa, RGN_TYPE_UI);
/* is error! */
if(ar==NULL) return NULL;

@ -64,14 +64,11 @@ ARegion *logic_has_buttons_region(ScrArea *sa)
{
ARegion *ar, *arnew;
for(ar= sa->regionbase.first; ar; ar= ar->next)
if(ar->regiontype==RGN_TYPE_UI)
return ar;
ar= BKE_area_find_region_type(sa, RGN_TYPE_UI);
if(ar) return ar;
/* add subdiv level; after header */
for(ar= sa->regionbase.first; ar; ar= ar->next)
if(ar->regiontype==RGN_TYPE_HEADER)
break;
ar= BKE_area_find_region_type(sa, RGN_TYPE_HEADER);
/* is error! */
if(ar==NULL) return NULL;

@ -70,16 +70,11 @@ ARegion *nla_has_buttons_region(ScrArea *sa)
{
ARegion *ar, *arnew;
for (ar= sa->regionbase.first; ar; ar= ar->next) {
if (ar->regiontype==RGN_TYPE_UI)
return ar;
}
ar= BKE_area_find_region_type(sa, RGN_TYPE_UI);
if(ar) return ar;
/* add subdiv level; after main */
for (ar= sa->regionbase.first; ar; ar= ar->next) {
if (ar->regiontype==RGN_TYPE_WINDOW)
break;
}
ar= BKE_area_find_region_type(sa, RGN_TYPE_WINDOW);
/* is error! */
if (ar==NULL) return NULL;

@ -71,14 +71,11 @@ ARegion *node_has_buttons_region(ScrArea *sa)
{
ARegion *ar, *arnew;
for(ar= sa->regionbase.first; ar; ar= ar->next)
if(ar->regiontype==RGN_TYPE_UI)
return ar;
ar= BKE_area_find_region_type(sa, RGN_TYPE_UI);
if(ar) return ar;
/* add subdiv level; after header */
for(ar= sa->regionbase.first; ar; ar= ar->next)
if(ar->regiontype==RGN_TYPE_HEADER)
break;
ar= BKE_area_find_region_type(sa, RGN_TYPE_HEADER);
/* is error! */
if(ar==NULL) return NULL;

@ -67,14 +67,11 @@ ARegion *sequencer_has_buttons_region(ScrArea *sa)
{
ARegion *ar, *arnew;
for(ar= sa->regionbase.first; ar; ar= ar->next)
if(ar->regiontype==RGN_TYPE_UI)
return ar;
ar= BKE_area_find_region_type(sa, RGN_TYPE_UI);
if(ar) return ar;
/* add subdiv level; after header */
for(ar= sa->regionbase.first; ar; ar= ar->next)
if(ar->regiontype==RGN_TYPE_HEADER)
break;
ar= BKE_area_find_region_type(sa, RGN_TYPE_HEADER);
/* is error! */
if(ar==NULL) return NULL;

@ -55,6 +55,7 @@
#include "BLI_utildefines.h"
#include "BKE_context.h"
#include "BKE_screen.h"
#include "ED_screen.h"
@ -79,14 +80,11 @@ static ARegion *text_has_properties_region(ScrArea *sa)
{
ARegion *ar, *arnew;
for(ar= sa->regionbase.first; ar; ar= ar->next)
if(ar->regiontype==RGN_TYPE_UI)
return ar;
ar= BKE_area_find_region_type(sa, RGN_TYPE_UI);
if(ar) return ar;
/* add subdiv level; after header */
for(ar= sa->regionbase.first; ar; ar= ar->next)
if(ar->regiontype==RGN_TYPE_HEADER)
break;
ar= BKE_area_find_region_type(sa, RGN_TYPE_HEADER);
/* is error! */
if(ar==NULL) return NULL;

@ -367,15 +367,11 @@ static void time_draw_keyframes(const bContext *C, SpaceTime *stime, ARegion *ar
static void time_refresh(const bContext *UNUSED(C), ScrArea *sa)
{
SpaceTime *stime = (SpaceTime *)sa->spacedata.first;
ARegion *ar;
/* find the main timeline region and refresh cache display*/
for (ar= sa->regionbase.first; ar; ar= ar->next) {
if (ar->regiontype==RGN_TYPE_WINDOW) {
ARegion *ar= BKE_area_find_region_type(sa, RGN_TYPE_WINDOW);
if(ar) {
SpaceTime *stime = (SpaceTime *)sa->spacedata.first;
time_cache_refresh(stime);
break;
}
}
}

@ -71,14 +71,11 @@ ARegion *view3d_has_buttons_region(ScrArea *sa)
{
ARegion *ar, *arnew;
for(ar= sa->regionbase.first; ar; ar= ar->next)
if(ar->regiontype==RGN_TYPE_UI)
return ar;
ar= BKE_area_find_region_type(sa, RGN_TYPE_UI);
if(ar) return ar;
/* add subdiv level; after header */
for(ar= sa->regionbase.first; ar; ar= ar->next)
if(ar->regiontype==RGN_TYPE_HEADER)
break;
ar= BKE_area_find_region_type(sa, RGN_TYPE_HEADER);
/* is error! */
if(ar==NULL) return NULL;
@ -147,10 +144,10 @@ RegionView3D *ED_view3d_context_rv3d(bContext *C)
if(rv3d==NULL) {
ScrArea *sa =CTX_wm_area(C);
if(sa && sa->spacetype==SPACE_VIEW3D) {
ARegion *ar;
for(ar= sa->regionbase.first; ar; ar= ar->next)
if(ar->regiontype==RGN_TYPE_WINDOW)
return ar->regiondata;
ARegion *ar= BKE_area_find_region_type(sa, RGN_TYPE_WINDOW);
if(ar) {
rv3d= ar->regiondata;
}
}
}
return rv3d;

@ -2561,16 +2561,10 @@ void view3d_main_area_draw(const bContext *C, ARegion *ar)
}
if(v3d->lay_used != lay_used) { /* happens when loading old files or loading with UI load */
ARegion *ar_iter;
ScrArea *sa= CTX_wm_area(C);
/* find header and force tag redraw */
for(ar_iter= sa->regionbase.first; ar_iter; ar_iter= ar_iter->next)
if(ar_iter->regiontype==RGN_TYPE_HEADER) {
ED_region_tag_redraw(ar_iter);
break;
}
ScrArea *sa= CTX_wm_area(C);
ARegion *ar_header= BKE_area_find_region_type(sa, RGN_TYPE_HEADER);
ED_region_tag_redraw(ar_header); /* can be NULL */
v3d->lay_used= lay_used;
}

@ -110,6 +110,7 @@ EnumPropertyItem viewport_shade_items[] = {
#include "BLI_math.h"
#include "BKE_screen.h"
#include "BKE_animsys.h"
#include "BKE_brush.h"
#include "BKE_colortools.h"
@ -509,17 +510,12 @@ static void rna_SpaceImageEditor_zoom_get(PointerRNA *ptr, float *values)
values[0] = values[1] = 1;
sa = rna_area_from_space(ptr);
if(!sa) return;
/* find aregion */
for(ar=sa->regionbase.first; ar; ar=ar->next) {
if(ar->regiontype == RGN_TYPE_WINDOW)
break;
}
if(!ar) return;
sa= rna_area_from_space(ptr); /* can be NULL */
ar= BKE_area_find_region_type(sa, RGN_TYPE_WINDOW);
if(ar) {
ED_space_image_zoom(sima, ar, &values[0], &values[1]);
}
}
static void rna_SpaceImageEditor_cursor_location_get(PointerRNA *ptr, float *values)

@ -48,6 +48,7 @@
#include "BKE_blender.h"
#include "BKE_context.h"
#include "BKE_screen.h"
#include "BKE_curve.h"
#include "BKE_displist.h"
#include "BKE_DerivedMesh.h"
@ -247,15 +248,7 @@ int WM_init_game(bContext *C)
CTX_wm_window_set(C, win);
sa = biggest_view3d(C);
if(sa)
{
for(ar=sa->regionbase.first; ar; ar=ar->next) {
if(ar->regiontype == RGN_TYPE_WINDOW) {
break;
}
}
}
ar= BKE_area_find_region_type(sa, RGN_TYPE_WINDOW);
// if we have a valid 3D view
if (sa && ar) {