Geometrize  1.0
An application for geometrizing images into geometric primitives
Public Member Functions | Protected Attributes | Private Attributes | List of all members
geometrize::scene::ImageTaskScene::ImageTaskSceneImpl Class Reference
Collaboration diagram for geometrize::scene::ImageTaskScene::ImageTaskSceneImpl:
Collaboration graph
[legend]

Public Member Functions

 ImageTaskSceneImpl (ImageTaskScene *pQ)
 
ImageTaskSceneImpl operator= (const ImageTaskSceneImpl &)=delete
 
 ImageTaskSceneImpl (const ImageTaskSceneImpl &)=delete
 
 ~ImageTaskSceneImpl ()=default
 
void setTargetPixmapOpacity (float opacity)
 
void setTargetPixmap (const QPixmap &pixmap)
 
ImageTaskPixmapGraphicsItemgetTargetPixmapItem ()
 
void setOverlayShape (SvgItem *item)
 
void setOverlayShapeVisibility (const bool visible)
 

Protected Attributes

ImageTaskPixmapGraphicsItem m_targetPixmapItem
 

Private Attributes

ImageTaskSceneq
 
SvgItemm_lastOverlayShapeItem
 
bool m_overlayShapeVisibility
 

Constructor & Destructor Documentation

◆ ImageTaskSceneImpl() [1/2]

geometrize::scene::ImageTaskScene::ImageTaskSceneImpl::ImageTaskSceneImpl ( ImageTaskScene pQ)
inline
24  {
25  q->setStickyFocus(true);
26 
27  q->addItem(&m_targetPixmapItem);
28  }

◆ ImageTaskSceneImpl() [2/2]

geometrize::scene::ImageTaskScene::ImageTaskSceneImpl::ImageTaskSceneImpl ( const ImageTaskSceneImpl )
delete

◆ ~ImageTaskSceneImpl()

geometrize::scene::ImageTaskScene::ImageTaskSceneImpl::~ImageTaskSceneImpl ( )
default

Member Function Documentation

◆ getTargetPixmapItem()

ImageTaskPixmapGraphicsItem& geometrize::scene::ImageTaskScene::ImageTaskSceneImpl::getTargetPixmapItem ( )
inline
48  {
49  return m_targetPixmapItem;
50  }

◆ operator=()

ImageTaskSceneImpl geometrize::scene::ImageTaskScene::ImageTaskSceneImpl::operator= ( const ImageTaskSceneImpl )
delete

◆ setOverlayShape()

void geometrize::scene::ImageTaskScene::ImageTaskSceneImpl::setOverlayShape ( SvgItem item)
inline
53  {
54  if(m_lastOverlayShapeItem != nullptr) {
55  q->removeItem(m_lastOverlayShapeItem);
57  }
58  if(item != nullptr) {
59  item->setVisible(m_overlayShapeVisibility);
60  q->addItem(item);
61  q->setFocusItem(item, Qt::FocusReason::OtherFocusReason);
62  }
64  }

◆ setOverlayShapeVisibility()

void geometrize::scene::ImageTaskScene::ImageTaskSceneImpl::setOverlayShapeVisibility ( const bool  visible)
inline
67  {
68  m_overlayShapeVisibility = visible;
69  if(m_lastOverlayShapeItem != nullptr) {
71  }
72  }

◆ setTargetPixmap()

void geometrize::scene::ImageTaskScene::ImageTaskSceneImpl::setTargetPixmap ( const QPixmap &  pixmap)
inline
43  {
44  m_targetPixmapItem.setPixmap(pixmap);
45  }

◆ setTargetPixmapOpacity()

void geometrize::scene::ImageTaskScene::ImageTaskSceneImpl::setTargetPixmapOpacity ( float  opacity)
inline
34  {
35  // It's a pain to get completely transparent items to receive mouse/tablet events e.g. items()
36  // However we need the target image to receive events, so we always make it slightly visible
37  opacity = std::max(opacity, 0.001f);
38 
39  m_targetPixmapItem.setOpacity(static_cast<qreal>(opacity));
40  }

Member Data Documentation

◆ m_lastOverlayShapeItem

SvgItem* geometrize::scene::ImageTaskScene::ImageTaskSceneImpl::m_lastOverlayShapeItem
private

◆ m_overlayShapeVisibility

bool geometrize::scene::ImageTaskScene::ImageTaskSceneImpl::m_overlayShapeVisibility
private

◆ m_targetPixmapItem

ImageTaskPixmapGraphicsItem geometrize::scene::ImageTaskScene::ImageTaskSceneImpl::m_targetPixmapItem
protected

◆ q

ImageTaskScene* geometrize::scene::ImageTaskScene::ImageTaskSceneImpl::q
private

The documentation for this class was generated from the following file:
geometrize::scene::ImageTaskScene::ImageTaskSceneImpl::q
ImageTaskScene * q
Definition: imagetaskscene.cpp:78
geometrize::scene::ImageTaskScene::ImageTaskSceneImpl::m_targetPixmapItem
ImageTaskPixmapGraphicsItem m_targetPixmapItem
Definition: imagetaskscene.cpp:75
geometrize::scene::ImageTaskScene::ImageTaskSceneImpl::m_overlayShapeVisibility
bool m_overlayShapeVisibility
Definition: imagetaskscene.cpp:81
geometrize::scene::ImageTaskScene::ImageTaskSceneImpl::m_lastOverlayShapeItem
SvgItem * m_lastOverlayShapeItem
Definition: imagetaskscene.cpp:80