|
Shinya Kitaoka |
810553 |
#pragma once
|
|
Toshihiro Shimizu |
890ddd |
|
|
Toshihiro Shimizu |
890ddd |
#ifndef IMAGEPAINTER_H
|
|
Toshihiro Shimizu |
890ddd |
#define IMAGEPAINTER_H
|
|
Toshihiro Shimizu |
890ddd |
|
|
Toshihiro Shimizu |
890ddd |
// TnzCore includes
|
|
Toshihiro Shimizu |
890ddd |
#include "tgeometry.h"
|
|
Toshihiro Shimizu |
890ddd |
#include "timage.h"
|
|
Toshihiro Shimizu |
890ddd |
#include "tpixel.h"
|
|
Toshihiro Shimizu |
890ddd |
#include "ttoonzimage.h"
|
|
Toshihiro Shimizu |
890ddd |
|
|
Toshihiro Shimizu |
890ddd |
// TnzExt includes
|
|
Toshihiro Shimizu |
890ddd |
#include "ext/plasticvisualsettings.h"
|
|
Toshihiro Shimizu |
890ddd |
|
|
Toshihiro Shimizu |
890ddd |
#undef DVAPI
|
|
Toshihiro Shimizu |
890ddd |
#undef DVVAR
|
|
Toshihiro Shimizu |
890ddd |
#ifdef TOONZLIB_EXPORTS
|
|
Toshihiro Shimizu |
890ddd |
#define DVAPI DV_EXPORT_API
|
|
Toshihiro Shimizu |
890ddd |
#define DVVAR DV_EXPORT_VAR
|
|
Toshihiro Shimizu |
890ddd |
#else
|
|
Toshihiro Shimizu |
890ddd |
#define DVAPI DV_IMPORT_API
|
|
Toshihiro Shimizu |
890ddd |
#define DVVAR DV_IMPORT_VAR
|
|
Toshihiro Shimizu |
890ddd |
#endif
|
|
Toshihiro Shimizu |
890ddd |
|
|
Toshihiro Shimizu |
890ddd |
//===========================================================================
|
|
Toshihiro Shimizu |
890ddd |
|
|
Toshihiro Shimizu |
890ddd |
// Forward declaration
|
|
Toshihiro Shimizu |
890ddd |
|
|
Toshihiro Shimizu |
890ddd |
class TSceneProperties;
|
|
Toshihiro Shimizu |
890ddd |
class TSceneProperties;
|
|
Toshihiro Shimizu |
890ddd |
|
|
Toshihiro Shimizu |
890ddd |
//===========================================================================
|
|
Toshihiro Shimizu |
890ddd |
|
|
Shinya Kitaoka |
120a6e |
namespace ImagePainter {
|
|
Toshihiro Shimizu |
890ddd |
|
|
Toshihiro Shimizu |
890ddd |
//*************************************************************************************************
|
|
Toshihiro Shimizu |
890ddd |
// ImagePainter::VisualSettings declaration
|
|
Toshihiro Shimizu |
890ddd |
//*************************************************************************************************
|
|
Toshihiro Shimizu |
890ddd |
|
|
Toshihiro Shimizu |
890ddd |
//! Stores generic settings used by Toonz painters to draw images
|
|
Shinya Kitaoka |
120a6e |
class DVAPI VisualSettings {
|
|
Toshihiro Shimizu |
890ddd |
public:
|
|
Shinya Kitaoka |
120a6e |
int m_colorMask; //!< Combination of TRop::rChan, gChan, bChan or mChan.
|
|
Shinya Kitaoka |
120a6e |
//!< Note: 0 means rChan | gChan | bChan (draw all channels).
|
|
Shinya Kitaoka |
120a6e |
bool m_greytones; //!< Whether color channels are visualized in greytones
|
|
Shinya Kitaoka |
120a6e |
int m_bg; //!< Can be equal to eBlackBg, or eWhiteBg, or eCheckBg
|
|
Shinya Kitaoka |
120a6e |
bool m_drawExternalBG; // ... not sure ...
|
|
Shinya Kitaoka |
120a6e |
bool m_showBBox; //!< Show the bounding box of current level
|
|
Toshihiro Shimizu |
890ddd |
|
|
Shinya Kitaoka |
120a6e |
TSceneProperties *m_sceneProperties; //!< Scene properties reference - which
|
|
Shinya Kitaoka |
38fd86 |
//! contains further options
|
|
Toshihiro Shimizu |
890ddd |
|
|
Shinya Kitaoka |
120a6e |
PlasticVisualSettings m_plasticVisualSettings; //!< Settings for mesh images
|
|
Shinya Kitaoka |
38fd86 |
//! and plastic deformations
|
|
Toshihiro Shimizu |
890ddd |
|
|
Shinya Kitaoka |
120a6e |
// Other (misplaced) misc options
|
|
Toshihiro Shimizu |
890ddd |
|
|
luz paz |
6454c4 |
bool m_doCompare; //!< Whether must compare between two images
|
|
Shinya Kitaoka |
120a6e |
bool m_defineLoadbox; //!< Flipbook-specific
|
|
Shinya Kitaoka |
120a6e |
bool m_useLoadbox; //!< Flipbook-specific
|
|
Toshihiro Shimizu |
890ddd |
|
|
Shinya Kitaoka |
120a6e |
TPixel32 m_blankColor; //!< The color of blank frames during playback
|
|
Toshihiro Shimizu |
890ddd |
|
|
Shinya Kitaoka |
120a6e |
bool m_useTexture; //!< Whether should we use OpenGL textures instead of
|
|
Shinya Kitaoka |
38fd86 |
//! drawPixels()
|
|
Shinya Kitaoka |
120a6e |
bool m_recomputeIfNeeded;
|
|
Shinya Kitaoka |
120a6e |
bool m_drawBlankFrame;
|
|
Shinya Kitaoka |
120a6e |
bool m_useChecks; //!< whether to consider paint check and ink check
|
|
luz paz |
6454c4 |
bool m_forSceneIcon = false; // whether it is rendered for the scene icons
|
|
shun-iwasawa |
481b59 |
|
|
shun-iwasawa |
481b59 |
int m_gainStep;
|
|
shun-iwasawa |
481b59 |
|
|
Toshihiro Shimizu |
890ddd |
public:
|
|
Shinya Kitaoka |
120a6e |
VisualSettings();
|
|
Toshihiro Shimizu |
890ddd |
|
|
Shinya Kitaoka |
120a6e |
bool needRepaint(const VisualSettings &newVs) const;
|
|
Toshihiro Shimizu |
890ddd |
};
|
|
Toshihiro Shimizu |
890ddd |
|
|
Toshihiro Shimizu |
890ddd |
//*************************************************************************************************
|
|
Toshihiro Shimizu |
890ddd |
// ImagePainter::VisualSettings declaration
|
|
Toshihiro Shimizu |
890ddd |
//*************************************************************************************************
|
|
Toshihiro Shimizu |
890ddd |
|
|
Toshihiro Shimizu |
890ddd |
//! Stores settings used to compare two images
|
|
Shinya Kitaoka |
120a6e |
class DVAPI CompareSettings {
|
|
Toshihiro Shimizu |
890ddd |
public:
|
|
Shinya Kitaoka |
120a6e |
//! Used to set compared image width
|
|
Shinya Kitaoka |
120a6e |
double m_compareX;
|
|
Shinya Kitaoka |
120a6e |
//! Used to set compared image height
|
|
Shinya Kitaoka |
120a6e |
double m_compareY;
|
|
Toshihiro Shimizu |
890ddd |
|
|
Shinya Kitaoka |
120a6e |
//! Used to change compared image width
|
|
Shinya Kitaoka |
120a6e |
bool m_dragCompareX;
|
|
Shinya Kitaoka |
120a6e |
//! Used to change compared image height
|
|
Shinya Kitaoka |
120a6e |
bool m_dragCompareY;
|
|
Toshihiro Shimizu |
890ddd |
|
|
Shinya Kitaoka |
120a6e |
//! Used to swap compared images
|
|
Shinya Kitaoka |
120a6e |
bool m_swapCompared;
|
|
Toshihiro Shimizu |
890ddd |
|
|
Toshihiro Shimizu |
890ddd |
public:
|
|
Shinya Kitaoka |
120a6e |
CompareSettings();
|
|
Toshihiro Shimizu |
890ddd |
};
|
|
Toshihiro Shimizu |
890ddd |
|
|
Toshihiro Shimizu |
890ddd |
const double DefaultCompareValue = 0.01;
|
|
Toshihiro Shimizu |
890ddd |
|
|
Toshihiro Shimizu |
890ddd |
//*************************************************************************************************
|
|
Toshihiro Shimizu |
890ddd |
// ImagePainter global functions
|
|
Toshihiro Shimizu |
890ddd |
//*************************************************************************************************
|
|
Toshihiro Shimizu |
890ddd |
|
|
Toshihiro Shimizu |
890ddd |
DVAPI void paintImage(const TImageP &image, const TDimension &imageSize,
|
|
Shinya Kitaoka |
120a6e |
const TDimension &viewerSize, const TAffine &aff,
|
|
Shinya Kitaoka |
120a6e |
const VisualSettings &visualSettings,
|
|
Shinya Kitaoka |
120a6e |
const CompareSettings &compareSettings,
|
|
Shinya Kitaoka |
120a6e |
const TRect &loadbox);
|
|
shun-iwasawa |
481b59 |
} // namespace ImagePainter
|
|
Toshihiro Shimizu |
890ddd |
|
|
Shinya Kitaoka |
120a6e |
#endif // IMAGEPAINTER_H
|