#include "graphics_scene.h"
extern "C"
{
uintptr_t nativeGraphicsSceneCreate(double x, double y, double width, double heigh, uintptr_t parentPtr)
{
CjGraphicsScene *graphicsScene;
if (parentPtr == 0L)
{
graphicsScene = new CjGraphicsScene(x, y, width, heigh);
}
else
{
QObject *parent = reinterpret_cast<QObject *>(static_cast<uintptr_t>(parentPtr));
graphicsScene = new CjGraphicsScene(x, y, width, heigh, parent);
}
return reinterpret_cast<uintptr_t>(graphicsScene);
}
uintptr_t nativeGraphicsSceneCreateWithRectF(const uintptr_t rectFPtr, uintptr_t parentPtr)
{
CjGraphicsScene *graphicsScene;
QRectF *rectF = reinterpret_cast<QRectF *>(static_cast<uintptr_t>(rectFPtr));
if (parentPtr == 0L)
{
graphicsScene = new CjGraphicsScene(*rectF);
}
else
{
QObject *parent = reinterpret_cast<QObject *>(static_cast<uintptr_t>(parentPtr));
graphicsScene = new CjGraphicsScene(*rectF, parent);
}
return reinterpret_cast<uintptr_t>(graphicsScene);
}
uintptr_t nativeGraphicsSceneCreateWithParent(uintptr_t parentPtr)
{
CjGraphicsScene *graphicsScene;
if (parentPtr == 0L)
{
graphicsScene = new CjGraphicsScene();
}
else
{
QObject *parent = reinterpret_cast<QObject *>(static_cast<uintptr_t>(parentPtr));
graphicsScene = new CjGraphicsScene(parent);
}
return reinterpret_cast<uintptr_t>(graphicsScene);
}
void nativeGraphicsSceneDelete(uintptr_t ptr)
{
CjGraphicsScene *instance = reinterpret_cast<CjGraphicsScene *>(static_cast<uintptr_t>(ptr));
delete instance;
}
QRectF nativeGraphicsSceneScenRect(uintptr_t ptr)
{
QGraphicsScene *scene = reinterpret_cast<QGraphicsScene *>(static_cast<uintptr_t>(ptr));
return scene->sceneRect();
}
void nativeGraphicsSceneSetScenRectWithRect(uintptr_t ptr, const uintptr_t rectFPtr)
{
QGraphicsScene *scene = reinterpret_cast<QGraphicsScene *>(static_cast<uintptr_t>(ptr));
QRectF *rectF = reinterpret_cast<QRectF *>(static_cast<uintptr_t>(rectFPtr));
scene->setSceneRect(*rectF);
}
void nativeGraphicsSceneSetScenRect(uintptr_t ptr, double x, double y, double w, double h)
{
QGraphicsScene *scene = reinterpret_cast<QGraphicsScene *>(static_cast<uintptr_t>(ptr));
scene->setSceneRect(x, y, w, h);
}
uintptr_t nativeGraphicsSceneBackgroundBrush(uintptr_t ptr)
{
QGraphicsScene *scene = reinterpret_cast<QGraphicsScene *>(static_cast<uintptr_t>(ptr));
QBrush brush = scene->backgroundBrush();
QBrush *p = new QBrush(brush);
return reinterpret_cast<uintptr_t>(p);
}
void nativeGraphicsSceneSetBackgroundBrush(uintptr_t ptr, const uintptr_t brushPtr)
{
QGraphicsScene *scene = reinterpret_cast<QGraphicsScene *>(static_cast<uintptr_t>(ptr));
QBrush *brush = reinterpret_cast<QBrush *>(static_cast<uintptr_t>(brushPtr));
scene->setBackgroundBrush(*brush);
}
void nativeGraphicsSceneAddItem(uintptr_t ptr, const uintptr_t itemPtr)
{
QGraphicsScene *scene = reinterpret_cast<QGraphicsScene *>(static_cast<uintptr_t>(ptr));
QGraphicsItem *item = reinterpret_cast<QGraphicsItem *>(static_cast<uintptr_t>(itemPtr));
scene->addItem(item);
}
void nativeGraphicsSceneContextMenuEvent(uintptr_t ptr, uintptr_t eventPtr)
{
CjGraphicsScene *instance = reinterpret_cast<CjGraphicsScene *>(static_cast<uintptr_t>(ptr));
QGraphicsSceneContextMenuEvent *event = reinterpret_cast<QGraphicsSceneContextMenuEvent *>(static_cast<uintptr_t>(eventPtr));
instance->doContextMenuEvent(event);
}
void nativeGraphicsSceneDragEnterEvent(uintptr_t ptr, uintptr_t eventPtr)
{
CjGraphicsScene *instance = reinterpret_cast<CjGraphicsScene *>(static_cast<uintptr_t>(ptr));
QGraphicsSceneDragDropEvent *event = reinterpret_cast<QGraphicsSceneDragDropEvent *>(static_cast<uintptr_t>(eventPtr));
instance->doDragEnterEvent(event);
}
void nativeGraphicsSceneDragLeaveEvent(uintptr_t ptr, uintptr_t eventPtr)
{
CjGraphicsScene *instance = reinterpret_cast<CjGraphicsScene *>(static_cast<uintptr_t>(ptr));
QGraphicsSceneDragDropEvent *event = reinterpret_cast<QGraphicsSceneDragDropEvent *>(static_cast<uintptr_t>(eventPtr));
instance->doDragLeaveEvent(event);
}
void nativeGraphicsSceneDragMoveEvent(uintptr_t ptr, uintptr_t eventPtr)
{
CjGraphicsScene *instance = reinterpret_cast<CjGraphicsScene *>(static_cast<uintptr_t>(ptr));
QGraphicsSceneDragDropEvent *event = reinterpret_cast<QGraphicsSceneDragDropEvent *>(static_cast<uintptr_t>(eventPtr));
instance->doDragMoveEvent(event);
}
void nativeGraphicsSceneDropEvent(uintptr_t ptr, uintptr_t eventPtr)
{
CjGraphicsScene *instance = reinterpret_cast<CjGraphicsScene *>(static_cast<uintptr_t>(ptr));
QGraphicsSceneDragDropEvent *event = reinterpret_cast<QGraphicsSceneDragDropEvent *>(static_cast<uintptr_t>(eventPtr));
instance->doDropEvent(event);
}
void nativeGraphicsSceneFocusOutEvent(uintptr_t ptr, uintptr_t eventPtr)
{
CjGraphicsScene *instance = reinterpret_cast<CjGraphicsScene *>(static_cast<uintptr_t>(ptr));
QFocusEvent *event = reinterpret_cast<QFocusEvent *>(static_cast<uintptr_t>(eventPtr));
instance->doFocusOutEvent(event);
}
void nativeGraphicsSceneHelpEvent(uintptr_t ptr, uintptr_t eventPtr)
{
CjGraphicsScene *instance = reinterpret_cast<CjGraphicsScene *>(static_cast<uintptr_t>(ptr));
QGraphicsSceneHelpEvent *event = reinterpret_cast<QGraphicsSceneHelpEvent *>(static_cast<uintptr_t>(eventPtr));
instance->doHelpEvent(event);
}
void nativeGraphicsSceneInputMethodEvent(uintptr_t ptr, uintptr_t eventPtr)
{
CjGraphicsScene *instance = reinterpret_cast<CjGraphicsScene *>(static_cast<uintptr_t>(ptr));
QInputMethodEvent *event = reinterpret_cast<QInputMethodEvent *>(static_cast<uintptr_t>(eventPtr));
instance->doInputMethodEvent(event);
}
void nativeGraphicsSceneMouseDoubleClickEvent(uintptr_t ptr, uintptr_t eventPtr)
{
CjGraphicsScene *instance = reinterpret_cast<CjGraphicsScene *>(static_cast<uintptr_t>(ptr));
QGraphicsSceneMouseEvent *event = reinterpret_cast<QGraphicsSceneMouseEvent *>(static_cast<uintptr_t>(eventPtr));
instance->doMouseDoubleClickEvent(event);
}
void nativeGraphicsSceneMouseMoveEvent(uintptr_t ptr, uintptr_t eventPtr)
{
CjGraphicsScene *instance = reinterpret_cast<CjGraphicsScene *>(static_cast<uintptr_t>(ptr));
QGraphicsSceneMouseEvent *event = reinterpret_cast<QGraphicsSceneMouseEvent *>(static_cast<uintptr_t>(eventPtr));
instance->doMouseMoveEvent(event);
}
void nativeGraphicsSceneMousePressEvent(uintptr_t ptr, uintptr_t eventPtr)
{
CjGraphicsScene *instance = reinterpret_cast<CjGraphicsScene *>(static_cast<uintptr_t>(ptr));
QGraphicsSceneMouseEvent *event = reinterpret_cast<QGraphicsSceneMouseEvent *>(static_cast<uintptr_t>(eventPtr));
instance->doMousePressEvent(event);
}
void nativeGraphicsSceneMouseReleaseEvent(uintptr_t ptr, uintptr_t eventPtr)
{
CjGraphicsScene *instance = reinterpret_cast<CjGraphicsScene *>(static_cast<uintptr_t>(ptr));
QGraphicsSceneMouseEvent *event = reinterpret_cast<QGraphicsSceneMouseEvent *>(static_cast<uintptr_t>(eventPtr));
instance->doMouseReleaseEvent(event);
}
void nativeGraphicsSceneKeyPressEvent(uintptr_t ptr, uintptr_t eventPtr)
{
CjGraphicsScene *instance = reinterpret_cast<CjGraphicsScene *>(static_cast<uintptr_t>(ptr));
QKeyEvent *event = reinterpret_cast<QKeyEvent *>(static_cast<uintptr_t>(eventPtr));
instance->doKeyPressEvent(event);
}
void nativeGraphicsSceneKeyReleaseEvent(uintptr_t ptr, uintptr_t eventPtr)
{
CjGraphicsScene *instance = reinterpret_cast<CjGraphicsScene *>(static_cast<uintptr_t>(ptr));
QKeyEvent *event = reinterpret_cast<QKeyEvent *>(static_cast<uintptr_t>(eventPtr));
instance->doKeyReleaseEvent(event);
}
void nativeGraphicsSceneWheelEvent(uintptr_t ptr, uintptr_t eventPtr)
{
CjGraphicsScene *instance = reinterpret_cast<CjGraphicsScene *>(static_cast<uintptr_t>(ptr));
QGraphicsSceneWheelEvent *event = reinterpret_cast<QGraphicsSceneWheelEvent *>(static_cast<uintptr_t>(eventPtr));
instance->doWheelEvent(event);
}
void nativeGraphicsSceneSetContextMenuEvent(uintptr_t ptr, nativeEventCallback callback)
{
appConfig->contextMenuEventMapPut(ptr, callback);
}
void nativeGraphicsSceneSetDragEnterEvent(uintptr_t ptr, nativeEventCallback callback)
{
appConfig->dragEnterEventMapPut(ptr, callback);
}
void nativeGraphicsSceneSetDragLeaveEvent(uintptr_t ptr, nativeEventCallback callback)
{
appConfig->dragLeaveEventMapPut(ptr, callback);
}
void nativeGraphicsSceneSetDragMoveEvent(uintptr_t ptr, nativeEventCallback callback)
{
appConfig->dragMoveEventMapPut(ptr, callback);
}
void nativeGraphicsSceneSetDropEvent(uintptr_t ptr, nativeEventCallback callback)
{
appConfig->dropEventMapPut(ptr, callback);
}
void nativeGraphicsSceneSetFocusOutEvent(uintptr_t ptr, nativeEventCallback callback)
{
appConfig->focusOutEventMapPut(ptr, callback);
}
void nativeGraphicsSceneSetHelpEvent(uintptr_t ptr, nativeEventCallback callback)
{
appConfig->helpEventMapPut(ptr, callback);
}
void nativeGraphicsSceneSetInputMethodEvent(uintptr_t ptr, nativeEventCallback callback)
{
appConfig->inputMethodEventMapPut(ptr, callback);
}
void nativeGraphicsSceneSetMouseDoubleClickEvent(uintptr_t ptr, nativeEventCallback callback)
{
appConfig->mouseDoubleClickEventMapPut(ptr, callback);
}
void nativeGraphicsSceneSetMouseMoveEvent(uintptr_t ptr, nativeCallbackPointer callback)
{
appConfig->callbackMapPut((char *)"graphicsMouseMoveEvent", ptr, callback);
}
void nativeGraphicsSceneSetMousePressEvent(uintptr_t ptr, nativeCallbackPointer callback)
{
appConfig->callbackMapPut((char *)"graphicsMousePressEvent", ptr, callback);
}
void nativeGraphicsSceneSetMouseReleaseEvent(uintptr_t ptr, nativeCallbackPointer callback)
{
appConfig->callbackMapPut((char *)"graphicsMouseReleaseEvent", ptr, callback);
}
void nativeGraphicsSceneSetKeyPressEvent(uintptr_t ptr, nativeCallbackPointer callback)
{
appConfig->callbackMapPut((char *)"graphicsKeyPressEvent", ptr, callback);
}
void nativeGraphicsSceneSetKeyReleaseEvent(uintptr_t ptr, nativeEventCallback callback)
{
appConfig->keyReleaseEventMapPut(ptr, callback);
}
void nativeGraphicsSceneSetWheelEvent(uintptr_t ptr, nativeEventCallback callback)
{
appConfig->wheelEventMapPut(ptr, callback);
}
}