API — ICoreSDK/ICoreStudio/StudioObjects/ICoreModelViews/Image
The public contract of 3 header(s) under src/ICoreSDK/ICoreStudio/StudioObjects/ICoreModelViews/Image — 3 class/struct definition(s), 58 declaration(s). Each section shows the header's banner and its public (and protected-virtual) surface exactly as the file writes it.
| Header | Defines | Declarations | Bases |
|---|---|---|---|
ICoreImage.h | ICoreImage | 27 | — |
ICoreImageView.h | ICoreImageView | 17 | public ICoreCanvasObjectsRoot |
ICoreImageViewPixmap.h | ICoreImageViewPixmap | 14 | public ICoreGraphicsObject |
ICoreImage.h#
src/ICoreSDK/ICoreStudio/StudioObjects/ICoreModelViews/Image/ICoreImage.h
Layer 4: canonical "remove me from the live model graph" (parent container + canvas/selection). Idempotent. Called by collectGarbage_Image so collection is self-sufficient.
ICoreImage#
ICoreImage.h:10 · class · pImpl · 27 declaration(s)
class ICoreImage {
public:
explicit ICoreImage(ICoreSubsystemTreeNode* parent);
std::string generateUniqueName(const std::string& prefix) const;
void addToCanvas(ICoreCanvas* canvas) const;
void freeFromCanvas();
// Layer 4: canonical "remove me from the live model graph" (parent container + canvas/selection).
// Idempotent. Called by collectGarbage_Image so collection is self-sufficient.
void detachFromModel();
void select();
void deSelect();
void assignClonedProperties(const ICoreImage* originalImage);
ICoreCanvasObjectState* getState() const;
void updateToState(ICoreCanvasObjectState* desiredState);
void setParent(ICoreSubsystemTreeNode* newParent);
void setName(const std::string& newName);
ICoreSubsystemTreeNode* getParent() const;
std::string getName();
std::string getPath() const;
[[nodiscard]] ICoreImageView* getImageUI() const;
[[nodiscard]] std::string getClassID() const;
bool isSelected() const;
void setTrashOrder(int newTrashOrder);
int getTrashOrder();
void increaseTrashOrder();
void decreaseTrashOrder();
void resetToInitialState(ICoreSubsystemTreeNode* parent);
void kill();
void setAlive();
bool isAlive() const;
~ICoreImage();
private:
class Impl; // the two-line residue; state lives here
std::unique_ptr<Impl> impl;
};
ICoreImageView.h#
src/ICoreSDK/ICoreStudio/StudioObjects/ICoreModelViews/Image/UI/ICoreImageView.h
Q_OBJECT removed (P2.9d-3): this class declares no signal, slot, Q_PROPERTY or Q_INVOKABLE of its own, and nothing qobject_casts to it, holds a QPointer to it, animates it by name or reaches its metaObject(). It therefore had a meta-object nobody consulted -- and it could not keep one past P2.9d-5, when the base stops being a QObject.
ICoreImageView#
ICoreImageView.h:15 · class · final · bases public ICoreCanvasObjectsRoot · pImpl · 17 declaration(s)
class ICoreImageView final : public ICoreCanvasObjectsRoot {
public:
explicit ICoreImageView(ICoreGraphicsObject* parent = nullptr, ICoreImage* parentImage = nullptr);
void reconstructDescendents() override;
void assignClonedProperties(ICoreImageView* imageUI);
void setWidth(double width) override;
void setHeight(double height) override;
[[nodiscard]] ICorePoint getPosRelativeToCanvasOrigin() const;
[[nodiscard]] ICoreImageViewPixmap* getPixmap() const;
[[nodiscard]] std::string getPixmapClassID() const;
void resetToInitialState(ICoreNativeItem* parent = nullptr, ICoreImage* parentImage = nullptr);
void kill();
void setAlive();
bool isAlive() const;
~ICoreImageView() override;
protected:
// ⚠ These are PROTECTED now, and the comment they replace was stale rather
// than load-bearing: it said "not protected because they are accessed from
// ICoreImageViewLabel", and no such class exists anywhere in the tree -- the
// Image/UI directory holds only this class and ICoreImageViewPixmap. A
// tree-wide search for external calls to these handlers finds exactly one
// caller in the whole repository, and it belongs to the TEXT BOX, not the
// image. (That one is real, and got a named delegation seam on
// ICoreCanvasTextBoxView rather than a re-published override.)
bool mousePressed(const ICoreMouseEvent& event) override;
bool mouseMoved(const ICoreMouseEvent& event) override;
bool mouseReleased(const ICoreMouseEvent& event) override;
bool mouseDoubleClicked(const ICoreMouseEvent& event) override;
private:
class Impl; // the two-line residue; state lives here
std::unique_ptr<Impl> impl;
};
ICoreImageViewPixmap.h#
src/ICoreSDK/ICoreStudio/StudioObjects/ICoreModelViews/Image/UI/ICoreImageViewPixmap.h
Q_OBJECT removed (P2.9d-3): this class declares no signal, slot, Q_PROPERTY or Q_INVOKABLE of its own, and nothing qobject_casts to it, holds a QPointer to it, animates it by name or reaches its metaObject(). It therefore had a meta-object nobody consulted -- and it could not keep one past P2.9d-5, when the base stops being a QObject.
ICoreImageViewPixmap#
ICoreImageViewPixmap.h:12 · class · bases public ICoreGraphicsObject · pImpl · 14 declaration(s)
class ICoreImageViewPixmap : public ICoreGraphicsObject {
public:
explicit ICoreImageViewPixmap(ICoreGraphicsObject* parent = nullptr);
ICoreRect contentBounds() const override;
void paintContent(ICorePainter& painter) override;
void loadNewImageFromExternalPath(const ICoreString& imagePath);
void loadImageFromCachedPixmap(const std::string &pixmapClassID, const ICorePixmap &pixmap);
void clearLoadedImage();
void cloneFrom(const ICoreImageViewPixmap* other);
void reconstructDescendents();
void setWidth(int width);
void setHeight(int height);
void setSize(int width, int height);
std::string getPixmapId();
~ICoreImageViewPixmap() override;
protected:
bool mouseDoubleClicked(const ICoreMouseEvent& event) override;
private:
class Impl; // the two-line residue; state lives here
std::unique_ptr<Impl> impl;
};