载入中...
搜索中...
未找到
EditableTarget.h
浏览该文件的文档.
99 if (auto* typed = dynamic_cast<const C*>(this)) return eve::OptionalRef<const C>(std::ref(*typed));
228 static CapabilityId editingCapabilityId() { return CapabilityId("eve.editing.target.int-field.v1"); }
238 static CapabilityId editingCapabilityId() { return CapabilityId("eve.editing.target.scalar-field.v1"); }
252 static CapabilityId editingCapabilityId() { return CapabilityId("eve.editing.target.snapshot.v1"); }
Vocabulary aliases for nullable and checked borrowed references.
UUID-backed identifier adapter for legacy textual boundaries.
Definition Identity.h:314
Dirty region and revision shared by every editable document target.
Definition EditableTarget.h:154
void setRevision(Revision revision)
Adopt a revision observed elsewhere, without advancing it.
Definition EditableTarget.h:181
void bumpRevision()
Advance the revision without touching the dirty region.
Definition EditableTarget.h:179
void widenDirty(const EditRegion ®ion)
Widen the dirty region without advancing the revision.
Definition EditableTarget.h:175
EditRegion dirtyRegion() const override
Return the accumulated dirty region.
Definition EditableTarget.h:160
void markDirty(int x, int y)
Include one cell in the dirty region and advance the revision.
Definition EditableTarget.h:185
void clearDirtyRegion() override
Discard the dirty region; the revision does not change.
Definition EditableTarget.h:163
EditableTargetState(Revision initial=1)
Constructs the shared state with an explicit initial revision.
Definition EditableTarget.h:157
void setDirtyRegion(const EditRegion ®ion)
Replace the dirty region wholesale, without advancing the revision.
Definition EditableTarget.h:183
Revision revisionValue() const noexcept
Return the revision as the shared protocol revision type.
Definition EditableTarget.h:169
void widenDirty(int x, int y)
Widen the dirty region without advancing the revision.
Definition EditableTarget.h:173
void markDirty(const EditRegion ®ion)
Include a whole region and advance the revision.
Definition EditableTarget.h:192
void widenDirty()
Mark an unknown area dirty without advancing the revision.
Definition EditableTarget.h:177
eve::OptionalRef< C > capability()
Query a capability through its interface-owned stable identity.
Definition EditableTarget.h:82
virtual void * queryCapability(const CapabilityId &capability)
Query an optional stable capability.
Definition EditableTarget.h:70
virtual void clearDirtyRegion()=0
Clears dirty region.
virtual ~IEditableTarget()=default
Releases IEditableTarget resources.
virtual TargetDescriptor describe() const
Describe the target for tools and automation.
Definition EditableTarget.h:61
Optional capability exposing a deterministic, persistence-safe editing snapshot.
Definition EditableTarget.h:247
static CapabilityId editingCapabilityId()
Stable capability identity shared by every editable domain target.
Definition EditableTarget.h:252
virtual Value snapshotValue() const =0
Capture the target without exposing mutable runtime storage.
virtual ~IEditingSnapshotProvider()=default
Releases IEditingSnapshotProvider resources.
virtual ~IGridTarget()=default
Releases IGridTarget resources.
virtual FieldWriteStatus writeInt(int, int, int)=0
Writes int.
virtual float readScalar(int, int) const =0
Reads scalar.
virtual FieldWriteStatus writeScalar(int, int, float)=0
Writes scalar.
virtual float sampleScalar(float, float) const =0
Sample scalar.
Deterministic owning value tree shared by authoring hosts.
Definition EditingValue.h:19
Definition EditableTarget.h:7
@ Unchanged
@ Rejected
std::optional< std::reference_wrapper< T > > OptionalRef
Optional borrowed reference; it does not extend T's lifetime.
Definition BorrowedRef.h:24
Stable discovery metadata exposed by every editable target.
Definition EditableTarget.h:39
std::vector< CapabilityId > capabilities
Definition EditableTarget.h:44