Merge remote-tracking branch 'upstream/blender-v3.6-release'

Conflicts:
	source/blender/editors/uvedit/uvedit_select.cc
This commit is contained in:
Bastien Montagne
2023-06-21 16:47:05 +02:00
2 changed files with 60 additions and 47 deletions

View File

@@ -5192,26 +5192,16 @@ static int uv_select_similar_exec(bContext *C, wmOperator *op)
return uv_select_similar_vert_exec(C, op);
}
static EnumPropertyItem prop_vert_similar_types[] = {{UV_SSIM_PIN, "PIN", 0, "Pinned", ""}, {0}};
static EnumPropertyItem prop_edge_similar_types[] = {
static EnumPropertyItem uv_select_similar_type_items[] = {
{UV_SSIM_PIN, "PIN", 0, "Pinned", ""},
{UV_SSIM_LENGTH_UV, "LENGTH", 0, "Length", ""},
{UV_SSIM_LENGTH_3D, "LENGTH_3D", 0, "Length 3D", ""},
{UV_SSIM_PIN, "PIN", 0, "Pinned", ""},
{0}};
static EnumPropertyItem prop_face_similar_types[] = {
{UV_SSIM_AREA_UV, "AREA", 0, "Area", ""},
{UV_SSIM_AREA_3D, "AREA_3D", 0, "Area 3D", ""},
{UV_SSIM_MATERIAL, "MATERIAL", 0, "Material", ""},
{UV_SSIM_OBJECT, "OBJECT", 0, "Object", ""},
{UV_SSIM_SIDES, "SIDES", 0, "Polygon Sides", ""},
{UV_SSIM_WINDING, "WINDING", 0, "Winding", ""},
{0}};
static EnumPropertyItem prop_island_similar_types[] = {
{UV_SSIM_AREA_UV, "AREA", 0, "Area", ""},
{UV_SSIM_AREA_3D, "AREA_3D", 0, "Area 3D", ""},
{UV_SSIM_FACE, "FACE", 0, "Amount of Faces in Island", ""},
{0}};
@@ -5223,24 +5213,45 @@ static EnumPropertyItem prop_similar_compare_types[] = {{SIM_CMP_EQ, "EQUAL", 0,
static const EnumPropertyItem *uv_select_similar_type_itemf(bContext *C,
PointerRNA * /*ptr*/,
PropertyRNA * /*prop*/,
bool * /*r_free*/)
bool *r_free)
{
EnumPropertyItem *item = nullptr;
int totitem = 0;
const ToolSettings *ts = CTX_data_tool_settings(C);
if (ts) {
int selectmode = (ts->uv_flag & UV_SYNC_SELECTION) ? ts->selectmode : ts->uv_selectmode;
if (selectmode & UV_SELECT_EDGE) {
return prop_edge_similar_types;
if (selectmode & UV_SELECT_VERTEX) {
RNA_enum_items_add_value(&item, &totitem, uv_select_similar_type_items, UV_SSIM_PIN);
}
if (selectmode & UV_SELECT_FACE) {
return prop_face_similar_types;
else if (selectmode & UV_SELECT_EDGE) {
RNA_enum_items_add_value(&item, &totitem, uv_select_similar_type_items, UV_SSIM_LENGTH_UV);
RNA_enum_items_add_value(&item, &totitem, uv_select_similar_type_items, UV_SSIM_LENGTH_3D);
RNA_enum_items_add_value(&item, &totitem, uv_select_similar_type_items, UV_SSIM_PIN);
}
if (selectmode & UV_SELECT_ISLAND) {
return prop_island_similar_types;
else if (selectmode & UV_SELECT_FACE) {
RNA_enum_items_add_value(&item, &totitem, uv_select_similar_type_items, UV_SSIM_AREA_UV);
RNA_enum_items_add_value(&item, &totitem, uv_select_similar_type_items, UV_SSIM_AREA_3D);
RNA_enum_items_add_value(&item, &totitem, uv_select_similar_type_items, UV_SSIM_MATERIAL);
RNA_enum_items_add_value(&item, &totitem, uv_select_similar_type_items, UV_SSIM_OBJECT);
RNA_enum_items_add_value(&item, &totitem, uv_select_similar_type_items, UV_SSIM_SIDES);
RNA_enum_items_add_value(&item, &totitem, uv_select_similar_type_items, UV_SSIM_WINDING);
}
else if (selectmode & UV_SELECT_ISLAND) {
RNA_enum_items_add_value(&item, &totitem, uv_select_similar_type_items, UV_SSIM_AREA_UV);
RNA_enum_items_add_value(&item, &totitem, uv_select_similar_type_items, UV_SSIM_AREA_3D);
RNA_enum_items_add_value(&item, &totitem, uv_select_similar_type_items, UV_SSIM_FACE);
}
}
else {
RNA_enum_items_add_value(&item, &totitem, uv_select_similar_type_items, UV_SSIM_PIN);
}
return prop_vert_similar_types;
RNA_enum_item_end(&item, &totitem);
*r_free = true;
return item;
}
void UV_OT_select_similar(wmOperatorType *ot)
{
/* identifiers */
@@ -5258,7 +5269,7 @@ void UV_OT_select_similar(wmOperatorType *ot)
/* properties */
PropertyRNA *prop = ot->prop = RNA_def_enum(
ot->srna, "type", prop_vert_similar_types, SIMVERT_NORMAL, "Type", "");
ot->srna, "type", uv_select_similar_type_items, SIMVERT_NORMAL, "Type", "");
RNA_def_enum_funcs(prop, uv_select_similar_type_itemf);
RNA_def_enum(ot->srna, "compare", prop_similar_compare_types, SIM_CMP_EQ, "Compare", "");
RNA_def_float(ot->srna, "threshold", 0.0f, 0.0f, 1.0f, "Threshold", "", 0.0f, 1.0f);

View File

@@ -19,6 +19,8 @@
#include "BLI_blenlib.h"
#include "BLT_translation.h"
#include "BKE_animsys.h"
#include "BKE_image.h"
#include "BKE_main.h"
@@ -106,55 +108,55 @@ static const char *give_seqname_by_type(int type)
{
switch (type) {
case SEQ_TYPE_META:
return "Meta";
return DATA_("Meta");
case SEQ_TYPE_IMAGE:
return "Image";
return DATA_("Image");
case SEQ_TYPE_SCENE:
return "Scene";
return DATA_("Scene");
case SEQ_TYPE_MOVIE:
return "Movie";
return DATA_("Movie");
case SEQ_TYPE_MOVIECLIP:
return "Clip";
return DATA_("Clip");
case SEQ_TYPE_MASK:
return "Mask";
return DATA_("Mask");
case SEQ_TYPE_SOUND_RAM:
return "Audio";
return DATA_("Audio");
case SEQ_TYPE_CROSS:
return "Cross";
return DATA_("Cross");
case SEQ_TYPE_GAMCROSS:
return "Gamma Cross";
return DATA_("Gamma Cross");
case SEQ_TYPE_ADD:
return "Add";
return DATA_("Add");
case SEQ_TYPE_SUB:
return "Sub";
return DATA_("Sub");
case SEQ_TYPE_MUL:
return "Mul";
return DATA_("Mul");
case SEQ_TYPE_ALPHAOVER:
return "Alpha Over";
return DATA_("Alpha Over");
case SEQ_TYPE_ALPHAUNDER:
return "Alpha Under";
return DATA_("Alpha Under");
case SEQ_TYPE_OVERDROP:
return "Over Drop";
return DATA_("Over Drop");
case SEQ_TYPE_COLORMIX:
return "Color Mix";
return DATA_("Color Mix");
case SEQ_TYPE_WIPE:
return "Wipe";
return DATA_("Wipe");
case SEQ_TYPE_GLOW:
return "Glow";
return DATA_("Glow");
case SEQ_TYPE_TRANSFORM:
return "Transform";
return DATA_("Transform");
case SEQ_TYPE_COLOR:
return "Color";
return DATA_("Color");
case SEQ_TYPE_MULTICAM:
return "Multicam";
return DATA_("Multicam");
case SEQ_TYPE_ADJUSTMENT:
return "Adjustment";
return DATA_("Adjustment");
case SEQ_TYPE_SPEED:
return "Speed";
return DATA_("Speed");
case SEQ_TYPE_GAUSSIAN_BLUR:
return "Gaussian Blur";
return DATA_("Gaussian Blur");
case SEQ_TYPE_TEXT:
return "Text";
return DATA_("Text");
default:
return NULL;
}
@@ -169,7 +171,7 @@ const char *SEQ_sequence_give_name(Sequence *seq)
return seq->strip->dirpath;
}
return "Effect";
return DATA_("Effect");
}
return name;
}