Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorHans Goudey <h.goudey@me.com>2020-11-30 02:10:47 +0300
committerHans Goudey <h.goudey@me.com>2020-11-30 02:10:47 +0300
commit748f468fdc7b80b7e84a854c63443050fcacad9c (patch)
treea699415443baf6df330e3ab5542e071dbcc7dcee /source/blender/editors
parentdca9aa0053f7d711c1b42a4f2042827a1e286bea (diff)
Cleanup: Use "region" for ARegion variable names
As proposed in T74432 and already implemented in several commits, "region" is the preferred name for `ARegion` variables, rather than any variant of "ar". This commit changes a few "ar" variables that have popped up over time and also adjusted names of variants like "arnew".
Diffstat (limited to 'source/blender/editors')
-rw-r--r--source/blender/editors/interface/interface_handlers.c4
-rw-r--r--source/blender/editors/object/object_modes.c4
-rw-r--r--source/blender/editors/object/object_remesh.c22
-rw-r--r--source/blender/editors/screen/area.c73
-rw-r--r--source/blender/editors/screen/screen_edit.c6
-rw-r--r--source/blender/editors/sculpt_paint/sculpt.c20
-rw-r--r--source/blender/editors/space_view3d/view3d_utils.c18
-rw-r--r--source/blender/editors/uvedit/uvedit_rip.c4
8 files changed, 75 insertions, 76 deletions
diff --git a/source/blender/editors/interface/interface_handlers.c b/source/blender/editors/interface/interface_handlers.c
index 4fe4bbaf189..3c028977a36 100644
--- a/source/blender/editors/interface/interface_handlers.c
+++ b/source/blender/editors/interface/interface_handlers.c
@@ -8363,8 +8363,8 @@ uiBut *UI_context_active_but_get(const bContext *C)
*/
uiBut *UI_context_active_but_get_respect_menu(const bContext *C)
{
- ARegion *ar_menu = CTX_wm_menu(C);
- return ui_context_button_active(ar_menu ? ar_menu : CTX_wm_region(C), NULL);
+ ARegion *region_menu = CTX_wm_menu(C);
+ return ui_context_button_active(region_menu ? region_menu : CTX_wm_region(C), NULL);
}
uiBut *UI_region_active_but_get(ARegion *region)
diff --git a/source/blender/editors/object/object_modes.c b/source/blender/editors/object/object_modes.c
index 9eaa8f3d31b..5a6fa2b8e3e 100644
--- a/source/blender/editors/object/object_modes.c
+++ b/source/blender/editors/object/object_modes.c
@@ -423,7 +423,7 @@ static bool object_switch_object_poll(bContext *C)
static int object_switch_object_invoke(bContext *C, wmOperator *op, const wmEvent *event)
{
- ARegion *ar = CTX_wm_region(C);
+ ARegion *region = CTX_wm_region(C);
Scene *scene = CTX_data_scene(C);
ViewLayer *view_layer = CTX_data_view_layer(C);
@@ -464,7 +464,7 @@ static int object_switch_object_invoke(bContext *C, wmOperator *op, const wmEven
/* Update the viewport rotation origin to the mouse cursor. */
if (last_mode & OB_MODE_ALL_PAINT) {
float global_loc[3];
- if (ED_view3d_autodist_simple(ar, event->mval, global_loc, 0, NULL)) {
+ if (ED_view3d_autodist_simple(region, event->mval, global_loc, 0, NULL)) {
UnifiedPaintSettings *ups = &scene->toolsettings->unified_paint_settings;
copy_v3_v3(ups->average_stroke_accum, global_loc);
ups->average_stroke_counter = 1;
diff --git a/source/blender/editors/object/object_remesh.c b/source/blender/editors/object/object_remesh.c
index 57122e5c22e..11be71623d8 100644
--- a/source/blender/editors/object/object_remesh.c
+++ b/source/blender/editors/object/object_remesh.c
@@ -369,10 +369,10 @@ static void voxel_size_edit_draw(const bContext *UNUSED(C), ARegion *UNUSED(ar),
static void voxel_size_edit_cancel(bContext *C, wmOperator *op)
{
- ARegion *ar = CTX_wm_region(C);
+ ARegion *region = CTX_wm_region(C);
VoxelSizeEditCustomData *cd = op->customdata;
- ED_region_draw_cb_exit(ar->type, cd->draw_handle);
+ ED_region_draw_cb_exit(region->type, cd->draw_handle);
MEM_freeN(op->customdata);
@@ -381,7 +381,7 @@ static void voxel_size_edit_cancel(bContext *C, wmOperator *op)
static int voxel_size_edit_modal(bContext *C, wmOperator *op, const wmEvent *event)
{
- ARegion *ar = CTX_wm_region(C);
+ ARegion *region = CTX_wm_region(C);
VoxelSizeEditCustomData *cd = op->customdata;
Object *active_object = cd->active_object;
Mesh *mesh = (Mesh *)active_object->data;
@@ -390,7 +390,7 @@ static int voxel_size_edit_modal(bContext *C, wmOperator *op, const wmEvent *eve
if ((event->type == EVT_ESCKEY && event->val == KM_PRESS) ||
(event->type == RIGHTMOUSE && event->val == KM_PRESS)) {
voxel_size_edit_cancel(C, op);
- ED_region_tag_redraw(ar);
+ ED_region_tag_redraw(region);
return OPERATOR_FINISHED;
}
@@ -398,10 +398,10 @@ static int voxel_size_edit_modal(bContext *C, wmOperator *op, const wmEvent *eve
if ((event->type == LEFTMOUSE && event->val == KM_RELEASE) ||
(event->type == EVT_RETKEY && event->val == KM_PRESS) ||
(event->type == EVT_PADENTER && event->val == KM_PRESS)) {
- ED_region_draw_cb_exit(ar->type, cd->draw_handle);
+ ED_region_draw_cb_exit(region->type, cd->draw_handle);
mesh->remesh_voxel_size = cd->voxel_size;
MEM_freeN(op->customdata);
- ED_region_tag_redraw(ar);
+ ED_region_tag_redraw(region);
ED_workspace_status_text(C, NULL);
return OPERATOR_FINISHED;
}
@@ -443,13 +443,13 @@ static int voxel_size_edit_modal(bContext *C, wmOperator *op, const wmEvent *eve
cd->voxel_size = clamp_f(cd->voxel_size, 0.0001f, 1.0f);
- ED_region_tag_redraw(ar);
+ ED_region_tag_redraw(region);
return OPERATOR_RUNNING_MODAL;
}
static int voxel_size_edit_invoke(bContext *C, wmOperator *op, const wmEvent *event)
{
- ARegion *ar = CTX_wm_region(C);
+ ARegion *region = CTX_wm_region(C);
Object *active_object = CTX_data_active_object(C);
Mesh *mesh = (Mesh *)active_object->data;
@@ -458,7 +458,7 @@ static int voxel_size_edit_invoke(bContext *C, wmOperator *op, const wmEvent *ev
/* Initial operator Custom Data setup. */
cd->draw_handle = ED_region_draw_cb_activate(
- ar->type, voxel_size_edit_draw, cd, REGION_DRAW_POST_VIEW);
+ region->type, voxel_size_edit_draw, cd, REGION_DRAW_POST_VIEW);
cd->active_object = active_object;
cd->init_mval[0] = event->mval[0];
cd->init_mval[1] = event->mval[1];
@@ -533,7 +533,7 @@ static int voxel_size_edit_invoke(bContext *C, wmOperator *op, const wmEvent *ev
for (int i = 0; i < 4; i++) {
float preview_plane_world_space[3];
mul_v3_m4v3(preview_plane_world_space, active_object->obmat, cd->preview_plane[i]);
- ED_view3d_project(ar, preview_plane_world_space, preview_plane_proj[i]);
+ ED_view3d_project(region, preview_plane_world_space, preview_plane_proj[i]);
}
/* Get the initial X and Y axis of the basis from the edges of the Bounding Box face. */
@@ -589,7 +589,7 @@ static int voxel_size_edit_invoke(bContext *C, wmOperator *op, const wmEvent *ev
WM_event_add_modal_handler(C, op);
- ED_region_tag_redraw(ar);
+ ED_region_tag_redraw(region);
const char *status_str = TIP_(
"Move the mouse to change the voxel size. LMB: confirm size, ESC/RMB: cancel");
diff --git a/source/blender/editors/screen/area.c b/source/blender/editors/screen/area.c
index 73e11328af6..581169d823e 100644
--- a/source/blender/editors/screen/area.c
+++ b/source/blender/editors/screen/area.c
@@ -1167,20 +1167,20 @@ static int rct_fits(const rcti *rect, char dir, int size)
static void region_overlap_fix(ScrArea *area, ARegion *region)
{
/* find overlapping previous region on same place */
- ARegion *ar1;
+ ARegion *region_iter;
int align1 = 0;
const int align = RGN_ALIGN_ENUM_FROM_MASK(region->alignment);
- for (ar1 = region->prev; ar1; ar1 = ar1->prev) {
- if (ar1->flag & RGN_FLAG_HIDDEN) {
+ for (region_iter = region->prev; region_iter; region_iter = region_iter->prev) {
+ if (region_iter->flag & RGN_FLAG_HIDDEN) {
continue;
}
- if (ar1->overlap && ((ar1->alignment & RGN_SPLIT_PREV) == 0)) {
- if (ELEM(ar1->alignment, RGN_ALIGN_FLOAT)) {
+ if (region_iter->overlap && ((region_iter->alignment & RGN_SPLIT_PREV) == 0)) {
+ if (ELEM(region_iter->alignment, RGN_ALIGN_FLOAT)) {
continue;
}
- align1 = ar1->alignment;
- if (BLI_rcti_isect(&ar1->winrct, &region->winrct, NULL)) {
+ align1 = region_iter->alignment;
+ if (BLI_rcti_isect(&region_iter->winrct, &region->winrct, NULL)) {
if (align1 != align) {
/* Left overlapping right or vice-versa, forbid this! */
region->flag |= RGN_FLAG_TOO_SMALL;
@@ -1196,35 +1196,36 @@ static void region_overlap_fix(ScrArea *area, ARegion *region)
BLI_assert(align1 == RGN_ALIGN_ENUM_FROM_MASK(align1));
/* translate or close */
- if (ar1) {
+ if (region_iter) {
if (align1 == RGN_ALIGN_LEFT) {
- if (region->winrct.xmax + ar1->winx > area->winx - U.widget_unit) {
+ if (region->winrct.xmax + region_iter->winx > area->winx - U.widget_unit) {
region->flag |= RGN_FLAG_TOO_SMALL;
return;
}
- BLI_rcti_translate(&region->winrct, ar1->winx, 0);
+ BLI_rcti_translate(&region->winrct, region_iter->winx, 0);
}
else if (align1 == RGN_ALIGN_RIGHT) {
- if (region->winrct.xmin - ar1->winx < U.widget_unit) {
+ if (region->winrct.xmin - region_iter->winx < U.widget_unit) {
region->flag |= RGN_FLAG_TOO_SMALL;
return;
}
- BLI_rcti_translate(&region->winrct, -ar1->winx, 0);
+ BLI_rcti_translate(&region->winrct, -region_iter->winx, 0);
}
}
/* At this point, 'region' is in its final position and still open.
* Make a final check it does not overlap any previous 'other side' region. */
- for (ar1 = region->prev; ar1; ar1 = ar1->prev) {
- if (ar1->flag & RGN_FLAG_HIDDEN) {
+ for (region_iter = region->prev; region_iter; region_iter = region_iter->prev) {
+ if (region_iter->flag & RGN_FLAG_HIDDEN) {
continue;
}
- if (ELEM(ar1->alignment, RGN_ALIGN_FLOAT)) {
+ if (ELEM(region_iter->alignment, RGN_ALIGN_FLOAT)) {
continue;
}
- if (ar1->overlap && (ar1->alignment & RGN_SPLIT_PREV) == 0) {
- if ((ar1->alignment != align) && BLI_rcti_isect(&ar1->winrct, &region->winrct, NULL)) {
+ if (region_iter->overlap && (region_iter->alignment & RGN_SPLIT_PREV) == 0) {
+ if ((region_iter->alignment != align) &&
+ BLI_rcti_isect(&region_iter->winrct, &region->winrct, NULL)) {
/* Left overlapping right or vice-versa, forbid this! */
region->flag |= RGN_FLAG_TOO_SMALL;
return;
@@ -1465,12 +1466,12 @@ static void region_rect_recursive(
/* test if there's still 4 regions left */
if (quad == 0) {
- ARegion *artest = region->next;
+ ARegion *region_test = region->next;
int count = 1;
- while (artest) {
- artest->alignment = RGN_ALIGN_QSPLIT;
- artest = artest->next;
+ while (region_test) {
+ region_test->alignment = RGN_ALIGN_QSPLIT;
+ region_test = region_test->next;
count++;
}
@@ -3901,39 +3902,39 @@ void ED_region_grid_draw(ARegion *region, float zoomx, float zoomy, float x0, fl
/* rect gets returned in local region coordinates */
static void region_visible_rect_calc(ARegion *region, rcti *rect)
{
- ARegion *arn = region;
+ ARegion *region_iter = region;
/* allow function to be called without area */
- while (arn->prev) {
- arn = arn->prev;
+ while (region_iter->prev) {
+ region_iter = region_iter->prev;
}
*rect = region->winrct;
/* check if a region overlaps with the current one */
- for (; arn; arn = arn->next) {
- if (region != arn && arn->overlap) {
- if (BLI_rcti_isect(rect, &arn->winrct, NULL)) {
- int alignment = RGN_ALIGN_ENUM_FROM_MASK(arn->alignment);
+ for (; region_iter; region_iter = region_iter->next) {
+ if (region != region_iter && region_iter->overlap) {
+ if (BLI_rcti_isect(rect, &region_iter->winrct, NULL)) {
+ int alignment = RGN_ALIGN_ENUM_FROM_MASK(region_iter->alignment);
if (ELEM(alignment, RGN_ALIGN_LEFT, RGN_ALIGN_RIGHT)) {
/* Overlap left, also check 1 pixel offset (2 regions on one side). */
- if (abs(rect->xmin - arn->winrct.xmin) < 2) {
- rect->xmin = arn->winrct.xmax;
+ if (abs(rect->xmin - region_iter->winrct.xmin) < 2) {
+ rect->xmin = region_iter->winrct.xmax;
}
/* Overlap right. */
- if (abs(rect->xmax - arn->winrct.xmax) < 2) {
- rect->xmax = arn->winrct.xmin;
+ if (abs(rect->xmax - region_iter->winrct.xmax) < 2) {
+ rect->xmax = region_iter->winrct.xmin;
}
}
else if (ELEM(alignment, RGN_ALIGN_TOP, RGN_ALIGN_BOTTOM)) {
/* Same logic as above for vertical regions. */
- if (abs(rect->ymin - arn->winrct.ymin) < 2) {
- rect->ymin = arn->winrct.ymax;
+ if (abs(rect->ymin - region_iter->winrct.ymin) < 2) {
+ rect->ymin = region_iter->winrct.ymax;
}
- if (abs(rect->ymax - arn->winrct.ymax) < 2) {
- rect->ymax = arn->winrct.ymin;
+ if (abs(rect->ymax - region_iter->winrct.ymax) < 2) {
+ rect->ymax = region_iter->winrct.ymin;
}
}
else if (alignment == RGN_ALIGN_FLOAT) {
diff --git a/source/blender/editors/screen/screen_edit.c b/source/blender/editors/screen/screen_edit.c
index 5e67d6855c0..6be2fb8004b 100644
--- a/source/blender/editors/screen/screen_edit.c
+++ b/source/blender/editors/screen/screen_edit.c
@@ -1524,7 +1524,7 @@ void ED_screen_animation_timer(bContext *C, int redraws, int sync, int enable)
/* helper for screen_animation_play() - only to be used for TimeLine */
static ARegion *time_top_left_3dwindow(bScreen *screen)
{
- ARegion *aret = NULL;
+ ARegion *region_top_left = NULL;
int min = 10000;
LISTBASE_FOREACH (ScrArea *, area, &screen->areabase) {
@@ -1532,7 +1532,7 @@ static ARegion *time_top_left_3dwindow(bScreen *screen)
LISTBASE_FOREACH (ARegion *, region, &area->regionbase) {
if (region->regiontype == RGN_TYPE_WINDOW) {
if (region->winrct.xmin - region->winrct.ymin < min) {
- aret = region;
+ region_top_left = region;
min = region->winrct.xmin - region->winrct.ymin;
}
}
@@ -1540,7 +1540,7 @@ static ARegion *time_top_left_3dwindow(bScreen *screen)
}
}
- return aret;
+ return region_top_left;
}
void ED_screen_animation_timer_update(bScreen *screen, int redraws)
diff --git a/source/blender/editors/sculpt_paint/sculpt.c b/source/blender/editors/sculpt_paint/sculpt.c
index 7d5f71b070f..1ddfa0b9b17 100644
--- a/source/blender/editors/sculpt_paint/sculpt.c
+++ b/source/blender/editors/sculpt_paint/sculpt.c
@@ -9392,9 +9392,9 @@ static void dyntopo_detail_size_edit_cancel(bContext *C, wmOperator *op)
{
Object *active_object = CTX_data_active_object(C);
SculptSession *ss = active_object->sculpt;
- ARegion *ar = CTX_wm_region(C);
+ ARegion *region = CTX_wm_region(C);
DyntopoDetailSizeEditCustomData *cd = op->customdata;
- ED_region_draw_cb_exit(ar->type, cd->draw_handle);
+ ED_region_draw_cb_exit(region->type, cd->draw_handle);
ss->draw_faded_cursor = false;
MEM_freeN(op->customdata);
ED_workspace_status_text(C, NULL);
@@ -9457,7 +9457,7 @@ static int dyntopo_detail_size_edit_modal(bContext *C, wmOperator *op, const wmE
{
Object *active_object = CTX_data_active_object(C);
SculptSession *ss = active_object->sculpt;
- ARegion *ar = CTX_wm_region(C);
+ ARegion *region = CTX_wm_region(C);
DyntopoDetailSizeEditCustomData *cd = op->customdata;
Sculpt *sd = CTX_data_tool_settings(C)->sculpt;
@@ -9465,7 +9465,7 @@ static int dyntopo_detail_size_edit_modal(bContext *C, wmOperator *op, const wmE
if ((event->type == EVT_ESCKEY && event->val == KM_PRESS) ||
(event->type == RIGHTMOUSE && event->val == KM_PRESS)) {
dyntopo_detail_size_edit_cancel(C, op);
- ED_region_tag_redraw(ar);
+ ED_region_tag_redraw(region);
return OPERATOR_FINISHED;
}
@@ -9473,16 +9473,16 @@ static int dyntopo_detail_size_edit_modal(bContext *C, wmOperator *op, const wmE
if ((event->type == LEFTMOUSE && event->val == KM_RELEASE) ||
(event->type == EVT_RETKEY && event->val == KM_PRESS) ||
(event->type == EVT_PADENTER && event->val == KM_PRESS)) {
- ED_region_draw_cb_exit(ar->type, cd->draw_handle);
+ ED_region_draw_cb_exit(region->type, cd->draw_handle);
sd->constant_detail = cd->detail_size;
ss->draw_faded_cursor = false;
MEM_freeN(op->customdata);
- ED_region_tag_redraw(ar);
+ ED_region_tag_redraw(region);
ED_workspace_status_text(C, NULL);
return OPERATOR_FINISHED;
}
- ED_region_tag_redraw(ar);
+ ED_region_tag_redraw(region);
if (event->type == EVT_LEFTCTRLKEY && event->val == KM_PRESS) {
cd->sample_mode = true;
@@ -9504,7 +9504,7 @@ static int dyntopo_detail_size_edit_modal(bContext *C, wmOperator *op, const wmE
static int dyntopo_detail_size_edit_invoke(bContext *C, wmOperator *op, const wmEvent *event)
{
- ARegion *ar = CTX_wm_region(C);
+ ARegion *region = CTX_wm_region(C);
Object *active_object = CTX_data_active_object(C);
Sculpt *sd = CTX_data_tool_settings(C)->sculpt;
Brush *brush = BKE_paint_brush(&sd->paint);
@@ -9514,7 +9514,7 @@ static int dyntopo_detail_size_edit_invoke(bContext *C, wmOperator *op, const wm
/* Initial operator Custom Data setup. */
cd->draw_handle = ED_region_draw_cb_activate(
- ar->type, dyntopo_detail_size_edit_draw, cd, REGION_DRAW_POST_VIEW);
+ region->type, dyntopo_detail_size_edit_draw, cd, REGION_DRAW_POST_VIEW);
cd->active_object = active_object;
cd->init_mval[0] = event->mval[0];
cd->init_mval[1] = event->mval[1];
@@ -9558,7 +9558,7 @@ static int dyntopo_detail_size_edit_invoke(bContext *C, wmOperator *op, const wm
SCULPT_vertex_random_access_ensure(ss);
WM_event_add_modal_handler(C, op);
- ED_region_tag_redraw(ar);
+ ED_region_tag_redraw(region);
ss->draw_faded_cursor = true;
diff --git a/source/blender/editors/space_view3d/view3d_utils.c b/source/blender/editors/space_view3d/view3d_utils.c
index c334b2ce541..a70e74665c5 100644
--- a/source/blender/editors/space_view3d/view3d_utils.c
+++ b/source/blender/editors/space_view3d/view3d_utils.c
@@ -898,20 +898,19 @@ static void view3d_boxview_sync_axis(RegionView3D *rv3d_dst, RegionView3D *rv3d_
/* sync center/zoom view of region to others, for view transforms */
void view3d_boxview_sync(ScrArea *area, ARegion *region)
{
- ARegion *artest;
RegionView3D *rv3d = region->regiondata;
short clip = 0;
- for (artest = area->regionbase.first; artest; artest = artest->next) {
- if (artest != region && artest->regiontype == RGN_TYPE_WINDOW) {
- RegionView3D *rv3dtest = artest->regiondata;
+ LISTBASE_FOREACH (ARegion *, region_test, &area->regionbase) {
+ if (region_test != region && region_test->regiontype == RGN_TYPE_WINDOW) {
+ RegionView3D *rv3dtest = region_test->regiondata;
if (RV3D_LOCK_FLAGS(rv3dtest) & RV3D_LOCK_ROTATION) {
rv3dtest->dist = rv3d->dist;
view3d_boxview_sync_axis(rv3dtest, rv3d);
clip |= RV3D_LOCK_FLAGS(rv3dtest) & RV3D_BOXCLIP;
- ED_region_tag_redraw(artest);
+ ED_region_tag_redraw(region_test);
}
}
}
@@ -924,18 +923,17 @@ void view3d_boxview_sync(ScrArea *area, ARegion *region)
/* for home, center etc */
void view3d_boxview_copy(ScrArea *area, ARegion *region)
{
- ARegion *artest;
RegionView3D *rv3d = region->regiondata;
bool clip = false;
- for (artest = area->regionbase.first; artest; artest = artest->next) {
- if (artest != region && artest->regiontype == RGN_TYPE_WINDOW) {
- RegionView3D *rv3dtest = artest->regiondata;
+ LISTBASE_FOREACH (ARegion *, region_test, &area->regionbase) {
+ if (region_test != region && region_test->regiontype == RGN_TYPE_WINDOW) {
+ RegionView3D *rv3dtest = region_test->regiondata;
if (RV3D_LOCK_FLAGS(rv3dtest)) {
rv3dtest->dist = rv3d->dist;
copy_v3_v3(rv3dtest->ofs, rv3d->ofs);
- ED_region_tag_redraw(artest);
+ ED_region_tag_redraw(region_test);
clip |= ((RV3D_LOCK_FLAGS(rv3dtest) & RV3D_BOXCLIP) != 0);
}
diff --git a/source/blender/editors/uvedit/uvedit_rip.c b/source/blender/editors/uvedit/uvedit_rip.c
index 4da1edea8b4..c8aa21191ba 100644
--- a/source/blender/editors/uvedit/uvedit_rip.c
+++ b/source/blender/editors/uvedit/uvedit_rip.c
@@ -938,10 +938,10 @@ static int uv_rip_exec(bContext *C, wmOperator *op)
static int uv_rip_invoke(bContext *C, wmOperator *op, const wmEvent *event)
{
- ARegion *ar = CTX_wm_region(C);
+ ARegion *region = CTX_wm_region(C);
float co[2];
- UI_view2d_region_to_view(&ar->v2d, event->mval[0], event->mval[1], &co[0], &co[1]);
+ UI_view2d_region_to_view(&region->v2d, event->mval[0], event->mval[1], &co[0], &co[1]);
RNA_float_set_array(op->ptr, "location", co);
return uv_rip_exec(C, op);