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:
authorKévin Dietrich <kevin.dietrich@mailoo.org>2022-04-08 19:23:40 +0300
committerKévin Dietrich <kevin.dietrich@mailoo.org>2022-04-08 19:23:40 +0300
commite15320568a29e163b32e261dc1aaee22404e0dac (patch)
tree8fd74e1dbd0bde5839e846c2f47da028a4a3ce06 /source/blender/draw/engines/overlay/overlay_engine.c
parent3039b215ba2af5ed63446aba72244b6bc5a4fd18 (diff)
Curves edit mode: show dots for points
This adds support to show dots for the curves points when in edit mode, using a specific overlay. This also adds `DRW_curves_batch_cache_create_requested` which for now only creates the point buffer for the newly added `edit_points` batch. In the future, this will also handle other edit mode overlays, and probably also replace the current curves batch cache creation. Maniphest Tasks: T95770 Differential Revision: https://developer.blender.org/D14262
Diffstat (limited to 'source/blender/draw/engines/overlay/overlay_engine.c')
-rw-r--r--source/blender/draw/engines/overlay/overlay_engine.c14
1 files changed, 13 insertions, 1 deletions
diff --git a/source/blender/draw/engines/overlay/overlay_engine.c b/source/blender/draw/engines/overlay/overlay_engine.c
index f9fec171ddd..64bd34c2a23 100644
--- a/source/blender/draw/engines/overlay/overlay_engine.c
+++ b/source/blender/draw/engines/overlay/overlay_engine.c
@@ -111,6 +111,9 @@ static void OVERLAY_engine_init(void *vedata)
case CTX_MODE_EDIT_MESH:
OVERLAY_edit_mesh_init(vedata);
break;
+ case CTX_MODE_EDIT_CURVES:
+ OVERLAY_edit_curves_init(vedata);
+ break;
default:
/* Nothing to do. */
break;
@@ -182,9 +185,11 @@ static void OVERLAY_cache_init(void *vedata)
case CTX_MODE_WEIGHT_GPENCIL:
OVERLAY_edit_gpencil_cache_init(vedata);
break;
+ case CTX_MODE_EDIT_CURVES:
+ OVERLAY_edit_curves_cache_init(vedata);
+ break;
case CTX_MODE_SCULPT_CURVES:
case CTX_MODE_OBJECT:
- case CTX_MODE_EDIT_CURVES:
break;
default:
BLI_assert_msg(0, "Draw mode invalid");
@@ -250,6 +255,7 @@ static bool overlay_object_is_edit_mode(const OVERLAY_PrivateData *pd, const Obj
case OB_FONT:
return pd->ctx_mode == CTX_MODE_EDIT_TEXT;
case OB_CURVES:
+ return pd->ctx_mode == CTX_MODE_EDIT_CURVES;
case OB_POINTCLOUD:
case OB_VOLUME:
/* No edit mode yet. */
@@ -389,6 +395,9 @@ static void OVERLAY_cache_populate(void *vedata, Object *ob)
case OB_FONT:
OVERLAY_edit_text_cache_populate(vedata, ob);
break;
+ case OB_CURVES:
+ OVERLAY_edit_curves_cache_populate(vedata, ob);
+ break;
}
}
else if (in_pose_mode && draw_bones) {
@@ -671,6 +680,9 @@ static void OVERLAY_draw_scene(void *vedata)
break;
case CTX_MODE_SCULPT_CURVES:
break;
+ case CTX_MODE_EDIT_CURVES:
+ OVERLAY_edit_curves_draw(vedata);
+ break;
default:
break;
}