Geometrize  1.0
An application for geometrizing images into geometric primitives
Signals | Public Member Functions | Protected Member Functions | List of all members
geometrize::scene::ImageTaskPixmapGraphicsItem Class Reference

The ImageTaskPixmapGraphicsItem class models a pixmap graphic item that goes into the scene for an image task. This usually represents a pixmap of the working image that is being transformed into shapes. More...

#include <imagetaskpixmapgraphicsitem.h>

Inheritance diagram for geometrize::scene::ImageTaskPixmapGraphicsItem:
Inheritance graph
[legend]
Collaboration diagram for geometrize::scene::ImageTaskPixmapGraphicsItem:
Collaboration graph
[legend]

Signals

void signal_onCustomTabletEvent (const geometrize::scene::CustomTabletEvent &event)
 
void signal_onHoverMoveEvent (double lastX, double lastY, double x, double y, bool ctrlModifier)
 
void signal_onMousePressEvent (double x, double y, bool ctrlModifier)
 
void signal_onMouseMoveEvent (double lastX, double lastY, double x, double y, bool ctrlModifier)
 
void signal_onMouseReleaseEvent (double x, double y, bool ctrlModifier)
 
void signal_onWheelEvent (double x, double y, int amount, bool ctrlModifier)
 
void signal_onKeyPressEvent (int key, bool ctrlModifier)
 
void signal_onKeyReleaseEvent (int key, bool ctrlModifier)
 
void signal_onFocusInEvent ()
 
void signal_onFocusOutEvent ()
 

Public Member Functions

 ImageTaskPixmapGraphicsItem ()
 
 ImageTaskPixmapGraphicsItem (const QPixmap &pixmap)
 
virtual ~ImageTaskPixmapGraphicsItem ()
 

Protected Member Functions

bool sceneEvent (QEvent *event) override
 
void hoverMoveEvent (QGraphicsSceneHoverEvent *event) override
 
void mousePressEvent (QGraphicsSceneMouseEvent *event) override
 
void mouseMoveEvent (QGraphicsSceneMouseEvent *event) override
 
void mouseReleaseEvent (QGraphicsSceneMouseEvent *event) override
 
void wheelEvent (QGraphicsSceneWheelEvent *event) override
 
void keyPressEvent (QKeyEvent *event) override
 
void keyReleaseEvent (QKeyEvent *event) override
 
void focusInEvent (QFocusEvent *event) override
 
void focusOutEvent (QFocusEvent *event) override
 

Detailed Description

The ImageTaskPixmapGraphicsItem class models a pixmap graphic item that goes into the scene for an image task. This usually represents a pixmap of the working image that is being transformed into shapes.

Constructor & Destructor Documentation

◆ ImageTaskPixmapGraphicsItem() [1/2]

geometrize::scene::ImageTaskPixmapGraphicsItem::ImageTaskPixmapGraphicsItem ( )
19  : QGraphicsPixmapItem()
20 {
21  setAcceptHoverEvents(true);
22  setAcceptTouchEvents(true);
23  setFlag(ItemIsMovable, false);
24  setFlag(ItemIsSelectable, false);
25  setFlag(ItemIsFocusable, true); // To receive key events (need focus first of course)
26  setZValue(1000);
27 
28  // Allows the pixmap to receive events even when the opacity is set to 0
29  setShapeMode(QGraphicsPixmapItem::BoundingRectShape);
30 }

◆ ImageTaskPixmapGraphicsItem() [2/2]

geometrize::scene::ImageTaskPixmapGraphicsItem::ImageTaskPixmapGraphicsItem ( const QPixmap &  pixmap)
explicit
32  : QGraphicsPixmapItem(pixmap)
33 {
34 }

◆ ~ImageTaskPixmapGraphicsItem()

geometrize::scene::ImageTaskPixmapGraphicsItem::~ImageTaskPixmapGraphicsItem ( )
virtual
37 {
38 }

Member Function Documentation

◆ focusInEvent()

void geometrize::scene::ImageTaskPixmapGraphicsItem::focusInEvent ( QFocusEvent *  event)
overrideprotected
122 {
123  QGraphicsPixmapItem::focusInEvent(event);
124  emit signal_onFocusInEvent();
125 }

◆ focusOutEvent()

void geometrize::scene::ImageTaskPixmapGraphicsItem::focusOutEvent ( QFocusEvent *  event)
overrideprotected
128 {
129  QGraphicsPixmapItem::focusOutEvent(event);
130  emit signal_onFocusOutEvent();
131 }

◆ hoverMoveEvent()

void geometrize::scene::ImageTaskPixmapGraphicsItem::hoverMoveEvent ( QGraphicsSceneHoverEvent *  event)
overrideprotected
51 {
52  // This is done so the parent scene/view still gets these events, so long as control isn't pressed
53  if (!event->modifiers().testFlag(Qt::ControlModifier)) {
54  event->setAccepted(false);
55  }
56 
57  QGraphicsPixmapItem::hoverMoveEvent(event);
58  emit signal_onHoverMoveEvent(event->lastScenePos().x(), event->lastScenePos().y(), event->scenePos().x(), event->scenePos().y(), event->modifiers() & Qt::ControlModifier);
59 }

◆ keyPressEvent()

void geometrize::scene::ImageTaskPixmapGraphicsItem::keyPressEvent ( QKeyEvent *  event)
overrideprotected
102 {
103  if (!event->modifiers().testFlag(Qt::ControlModifier)) {
104  event->setAccepted(false);
105  }
106 
107  QGraphicsPixmapItem::keyPressEvent(event);
108  emit signal_onKeyPressEvent(event->key(), event->modifiers() & Qt::ControlModifier);
109 }

◆ keyReleaseEvent()

void geometrize::scene::ImageTaskPixmapGraphicsItem::keyReleaseEvent ( QKeyEvent *  event)
overrideprotected
112 {
113  if (!event->modifiers().testFlag(Qt::ControlModifier)) {
114  event->setAccepted(false);
115  }
116 
117  QGraphicsPixmapItem::keyReleaseEvent(event);
118  emit signal_onKeyReleaseEvent(event->key(), event->modifiers() & Qt::ControlModifier);
119 }

◆ mouseMoveEvent()

void geometrize::scene::ImageTaskPixmapGraphicsItem::mouseMoveEvent ( QGraphicsSceneMouseEvent *  event)
overrideprotected
82 {
83  if (!event->modifiers().testFlag(Qt::ControlModifier)) {
84  event->setAccepted(false);
85  }
86 
87  QGraphicsPixmapItem::mouseMoveEvent(event);
88  emit signal_onMouseMoveEvent(event->lastScenePos().x(), event->lastScenePos().y(), event->scenePos().x(), event->scenePos().y(), event->modifiers() & Qt::ControlModifier);
89 }

◆ mousePressEvent()

void geometrize::scene::ImageTaskPixmapGraphicsItem::mousePressEvent ( QGraphicsSceneMouseEvent *  event)
overrideprotected
62 {
63  if (!event->modifiers().testFlag(Qt::ControlModifier)) {
64  event->setAccepted(false);
65  }
66 
67  QGraphicsPixmapItem::mousePressEvent(event);
68  emit signal_onMousePressEvent(event->scenePos().x(), event->scenePos().y(), event->modifiers() & Qt::ControlModifier);
69 }

◆ mouseReleaseEvent()

void geometrize::scene::ImageTaskPixmapGraphicsItem::mouseReleaseEvent ( QGraphicsSceneMouseEvent *  event)
overrideprotected
72 {
73  if (!event->modifiers().testFlag(Qt::ControlModifier)) {
74  event->setAccepted(false);
75  }
76 
77  QGraphicsPixmapItem::mouseReleaseEvent(event);
78  emit signal_onMouseReleaseEvent(event->scenePos().x(), event->scenePos().y(), event->modifiers() & Qt::ControlModifier);
79 }

◆ sceneEvent()

bool geometrize::scene::ImageTaskPixmapGraphicsItem::sceneEvent ( QEvent *  event)
overrideprotected
41 {
42  // Handle custom tablet events forwarded from the ImageTaskScene
45  return true;
46  }
47  return QGraphicsPixmapItem::sceneEvent(event);
48 }

◆ signal_onCustomTabletEvent

void geometrize::scene::ImageTaskPixmapGraphicsItem::signal_onCustomTabletEvent ( const geometrize::scene::CustomTabletEvent event)
signal
Here is the caller graph for this function:

◆ signal_onFocusInEvent

void geometrize::scene::ImageTaskPixmapGraphicsItem::signal_onFocusInEvent ( )
signal
Here is the caller graph for this function:

◆ signal_onFocusOutEvent

void geometrize::scene::ImageTaskPixmapGraphicsItem::signal_onFocusOutEvent ( )
signal
Here is the caller graph for this function:

◆ signal_onHoverMoveEvent

void geometrize::scene::ImageTaskPixmapGraphicsItem::signal_onHoverMoveEvent ( double  lastX,
double  lastY,
double  x,
double  y,
bool  ctrlModifier 
)
signal
Here is the caller graph for this function:

◆ signal_onKeyPressEvent

void geometrize::scene::ImageTaskPixmapGraphicsItem::signal_onKeyPressEvent ( int  key,
bool  ctrlModifier 
)
signal
Here is the caller graph for this function:

◆ signal_onKeyReleaseEvent

void geometrize::scene::ImageTaskPixmapGraphicsItem::signal_onKeyReleaseEvent ( int  key,
bool  ctrlModifier 
)
signal
Here is the caller graph for this function:

◆ signal_onMouseMoveEvent

void geometrize::scene::ImageTaskPixmapGraphicsItem::signal_onMouseMoveEvent ( double  lastX,
double  lastY,
double  x,
double  y,
bool  ctrlModifier 
)
signal
Here is the caller graph for this function:

◆ signal_onMousePressEvent

void geometrize::scene::ImageTaskPixmapGraphicsItem::signal_onMousePressEvent ( double  x,
double  y,
bool  ctrlModifier 
)
signal
Here is the caller graph for this function:

◆ signal_onMouseReleaseEvent

void geometrize::scene::ImageTaskPixmapGraphicsItem::signal_onMouseReleaseEvent ( double  x,
double  y,
bool  ctrlModifier 
)
signal
Here is the caller graph for this function:

◆ signal_onWheelEvent

void geometrize::scene::ImageTaskPixmapGraphicsItem::signal_onWheelEvent ( double  x,
double  y,
int  amount,
bool  ctrlModifier 
)
signal
Here is the caller graph for this function:

◆ wheelEvent()

void geometrize::scene::ImageTaskPixmapGraphicsItem::wheelEvent ( QGraphicsSceneWheelEvent *  event)
overrideprotected
92 {
93  if (!event->modifiers().testFlag(Qt::ControlModifier)) {
94  event->setAccepted(false);
95  }
96 
97  QGraphicsPixmapItem::wheelEvent(event);
98  emit signal_onWheelEvent(event->scenePos().x(), event->scenePos().y(), event->delta(), event->modifiers() & Qt::ControlModifier);
99 }

The documentation for this class was generated from the following files:
geometrize::scene::ImageTaskPixmapGraphicsItem::signal_onMouseMoveEvent
void signal_onMouseMoveEvent(double lastX, double lastY, double x, double y, bool ctrlModifier)
geometrize::scene::ImageTaskPixmapGraphicsItem::signal_onCustomTabletEvent
void signal_onCustomTabletEvent(const geometrize::scene::CustomTabletEvent &event)
geometrize::scene::ImageTaskPixmapGraphicsItem::signal_onMousePressEvent
void signal_onMousePressEvent(double x, double y, bool ctrlModifier)
geometrize::scene::ImageTaskPixmapGraphicsItem::signal_onKeyReleaseEvent
void signal_onKeyReleaseEvent(int key, bool ctrlModifier)
geometrize::scene::ImageTaskPixmapGraphicsItem::signal_onHoverMoveEvent
void signal_onHoverMoveEvent(double lastX, double lastY, double x, double y, bool ctrlModifier)
geometrize::scene::CustomTabletEvent::customEventId
static const int customEventId
CustomTabletEventTypeId is the id for the corresponding custom tablet event type.
Definition: customtabletevent.h:93
geometrize::scene::ImageTaskPixmapGraphicsItem::signal_onKeyPressEvent
void signal_onKeyPressEvent(int key, bool ctrlModifier)
geometrize::scene::CustomTabletEvent
The CustomTabletEvent class represents a tablet event (specifically from a Wacom Pro pen) that can be...
Definition: customtabletevent.h:88
geometrize::scene::ImageTaskPixmapGraphicsItem::signal_onFocusInEvent
void signal_onFocusInEvent()
geometrize::scene::ImageTaskPixmapGraphicsItem::signal_onFocusOutEvent
void signal_onFocusOutEvent()
geometrize::scene::ImageTaskPixmapGraphicsItem::signal_onMouseReleaseEvent
void signal_onMouseReleaseEvent(double x, double y, bool ctrlModifier)
geometrize::scene::ImageTaskPixmapGraphicsItem::signal_onWheelEvent
void signal_onWheelEvent(double x, double y, int amount, bool ctrlModifier)