tahoma2d/toonz/sources/include/toonz/scriptbinding_image_builder.h
Shinya Kitaoka d1f6c4e95b REFACTORING: Add final specifiers (#537)
* add final specifiers

* apply clang-format

* fix for macOS
2016-06-29 15:17:12 +09:00

63 lines
1.4 KiB
C++

#pragma once
#ifndef SCRIPTBINDING_IMAGE_BUILDER_H
#define SCRIPTBINDING_IMAGE_BUILDER_H
#include "toonz/scriptbinding.h"
class ToonzScene;
class TXshSimpleLevel;
namespace TScriptBinding {
class DVAPI Transform final : public Wrapper {
Q_OBJECT
TAffine m_affine;
public:
Transform();
Transform(const TAffine &aff);
~Transform();
WRAPPER_STD_METHODS(Transform)
Q_INVOKABLE QScriptValue toString();
Q_INVOKABLE QScriptValue translate(double x, double y);
Q_INVOKABLE QScriptValue rotate(double degrees);
Q_INVOKABLE QScriptValue scale(double s);
Q_INVOKABLE QScriptValue scale(double sx, double sy);
const TAffine &getAffine() const { return m_affine; }
};
class DVAPI ImageBuilder final : public Wrapper {
Q_OBJECT
TImageP m_img;
int m_width, m_height;
QString add(const TImageP &img, const TAffine &aff);
public:
ImageBuilder();
~ImageBuilder();
WRAPPER_STD_METHODS(ImageBuilder)
Q_INVOKABLE QScriptValue toString();
Q_PROPERTY(QScriptValue image READ getImage)
QScriptValue getImage();
Q_INVOKABLE QScriptValue add(QScriptValue img);
Q_INVOKABLE QScriptValue add(QScriptValue img, QScriptValue transformation);
Q_INVOKABLE void clear();
Q_INVOKABLE QScriptValue fill(const QString &colorName);
};
} // namespace TScriptBinding
Q_DECLARE_METATYPE(TScriptBinding::Transform *)
Q_DECLARE_METATYPE(TScriptBinding::ImageBuilder *)
#endif