|
Shinya Kitaoka |
810553 |
#pragma once
|
|
Toshihiro Shimizu |
890ddd |
|
|
Toshihiro Shimizu |
890ddd |
#ifndef FLIPBOOK_H
|
|
Toshihiro Shimizu |
890ddd |
#define FLIPBOOK_H
|
|
Toshihiro Shimizu |
890ddd |
|
|
Toshihiro Shimizu |
890ddd |
#include "toonzqt/flipconsole.h"
|
|
Toshihiro Shimizu |
890ddd |
#include "imageviewer.h"
|
|
Toshihiro Shimizu |
890ddd |
|
|
Toshihiro Shimizu |
890ddd |
#include "tlevel_io.h"
|
|
Toshihiro Shimizu |
890ddd |
#include "tpalette.h"
|
|
Toshihiro Shimizu |
890ddd |
#include "tsound.h"
|
|
Toshihiro Shimizu |
890ddd |
#include "filebrowserpopup.h"
|
|
Toshihiro Shimizu |
890ddd |
|
|
Toshihiro Shimizu |
890ddd |
#include "tfx.h"
|
|
Toshihiro Shimizu |
890ddd |
#include "toonz/txsheet.h"
|
|
Toshihiro Shimizu |
890ddd |
|
|
Toshihiro Shimizu |
890ddd |
#include <qtimer></qtimer>
|
|
Toshihiro Shimizu |
890ddd |
|
|
Toshihiro Shimizu |
890ddd |
#include "toonzqt/flipconsoleowner.h"
|
|
Toshihiro Shimizu |
890ddd |
|
|
Toshihiro Shimizu |
890ddd |
class QPoint;
|
|
Toshihiro Shimizu |
890ddd |
class TPalette;
|
|
Toshihiro Shimizu |
890ddd |
class TFilePath;
|
|
Toshihiro Shimizu |
890ddd |
class FlipBook;
|
|
Toshihiro Shimizu |
890ddd |
|
|
Toshihiro Shimizu |
890ddd |
//=============================================================================
|
|
Toshihiro Shimizu |
890ddd |
|
|
Shinya Kitaoka |
d1f6c4 |
class SaveImagesPopup final : public FileBrowserPopup {
|
|
Shinya Kitaoka |
120a6e |
Q_OBJECT
|
|
Toshihiro Shimizu |
890ddd |
|
|
Shinya Kitaoka |
120a6e |
FlipBook *m_flip;
|
|
Toshihiro Shimizu |
890ddd |
|
|
Toshihiro Shimizu |
890ddd |
public:
|
|
Shinya Kitaoka |
120a6e |
SaveImagesPopup(FlipBook *flip);
|
|
Toshihiro Shimizu |
890ddd |
|
|
Shinya Kitaoka |
473e70 |
bool execute() override;
|
|
Toshihiro Shimizu |
890ddd |
};
|
|
Toshihiro Shimizu |
890ddd |
|
|
Shinya Kitaoka |
d1f6c4 |
class LoadImagesPopup final : public FileBrowserPopup {
|
|
Shinya Kitaoka |
120a6e |
Q_OBJECT
|
|
Toshihiro Shimizu |
890ddd |
|
|
Shinya Kitaoka |
120a6e |
DVGui::LineEdit *m_fromField;
|
|
Shinya Kitaoka |
120a6e |
DVGui::LineEdit *m_toField;
|
|
Shinya Kitaoka |
120a6e |
DVGui::LineEdit *m_stepField;
|
|
Shinya Kitaoka |
120a6e |
DVGui::LineEdit *m_shrinkField;
|
|
Toshihiro Shimizu |
890ddd |
|
|
Shinya Kitaoka |
120a6e |
int m_minFrame, m_maxFrame;
|
|
Shinya Kitaoka |
120a6e |
int m_from, m_to, m_step, m_shrink;
|
|
Toshihiro Shimizu |
890ddd |
|
|
Shinya Kitaoka |
120a6e |
QStringList m_appendFilterTypes;
|
|
Shinya Kitaoka |
120a6e |
QStringList m_loadFilterTypes;
|
|
Toshihiro Shimizu |
890ddd |
|
|
Shinya Kitaoka |
120a6e |
FlipBook *m_flip;
|
|
Toshihiro Shimizu |
890ddd |
|
|
Toshihiro Shimizu |
890ddd |
public:
|
|
Shinya Kitaoka |
120a6e |
LoadImagesPopup(FlipBook *flip);
|
|
Toshihiro Shimizu |
890ddd |
|
|
Shinya Kitaoka |
473e70 |
bool execute() override;
|
|
Shinya Kitaoka |
473e70 |
bool executeApply() override;
|
|
Shinya Kitaoka |
120a6e |
bool doLoad(bool append);
|
|
Toshihiro Shimizu |
890ddd |
|
|
Toshihiro Shimizu |
890ddd |
public slots:
|
|
Toshihiro Shimizu |
890ddd |
|
|
Shinya Kitaoka |
120a6e |
void onFilePathClicked(const TFilePath &);
|
|
Shinya Kitaoka |
120a6e |
void onEditingFinished();
|
|
Toshihiro Shimizu |
890ddd |
};
|
|
Toshihiro Shimizu |
890ddd |
|
|
Toshihiro Shimizu |
890ddd |
//=============================================================================
|
|
Toshihiro Shimizu |
890ddd |
// FlipBookPool
|
|
Toshihiro Shimizu |
890ddd |
//-----------------------------------------------------------------------------
|
|
Toshihiro Shimizu |
890ddd |
|
|
Toshihiro Shimizu |
890ddd |
class FlipBook;
|
|
Toshihiro Shimizu |
890ddd |
|
|
Shinya Kitaoka |
120a6e |
class FlipBookPool {
|
|
Shinya Kitaoka |
120a6e |
std::map<int, *="" flipbook=""> m_pool;</int,>
|
|
Shinya Kitaoka |
120a6e |
std::map<int, qrect=""> m_geometryPool;</int,>
|
|
Shinya Kitaoka |
120a6e |
int m_overallFlipCount;
|
|
Toshihiro Shimizu |
890ddd |
|
|
Shinya Kitaoka |
120a6e |
TFilePath m_historyPath;
|
|
Toshihiro Shimizu |
890ddd |
|
|
Toshihiro Shimizu |
890ddd |
public:
|
|
Shinya Kitaoka |
120a6e |
FlipBookPool();
|
|
Shinya Kitaoka |
120a6e |
~FlipBookPool();
|
|
Toshihiro Shimizu |
890ddd |
|
|
Shinya Kitaoka |
120a6e |
static FlipBookPool *instance();
|
|
Toshihiro Shimizu |
890ddd |
|
|
Shinya Kitaoka |
120a6e |
void load(const TFilePath &historyPath);
|
|
Shinya Kitaoka |
120a6e |
void save() const;
|
|
Toshihiro Shimizu |
890ddd |
|
|
Shinya Kitaoka |
120a6e |
FlipBook *pop();
|
|
Shinya Kitaoka |
120a6e |
void push(FlipBook *flipbook);
|
|
Toshihiro Shimizu |
890ddd |
};
|
|
Toshihiro Shimizu |
890ddd |
|
|
Toshihiro Shimizu |
890ddd |
//=============================================================================
|
|
Toshihiro Shimizu |
890ddd |
// FlipBook
|
|
Toshihiro Shimizu |
890ddd |
//-----------------------------------------------------------------------------
|
|
Toshihiro Shimizu |
890ddd |
class TSoundOutputDevice;
|
|
Toshihiro Shimizu |
890ddd |
class TSoundTrack;
|
|
Toshihiro Shimizu |
890ddd |
class SaveImagesPopup;
|
|
Toshihiro Shimizu |
890ddd |
class LoadImagesPopup;
|
|
Toshihiro Shimizu |
890ddd |
class TFx;
|
|
Toshihiro Shimizu |
890ddd |
class TXsheet;
|
|
Toshihiro Shimizu |
890ddd |
class TXshSimpleLevel;
|
|
Toshihiro Shimizu |
890ddd |
|
|
Toshihiro Shimizu |
890ddd |
class TPanelTitleBar;
|
|
Toshihiro Shimizu |
890ddd |
class TPanelTitleBarButton;
|
|
Toshihiro Shimizu |
890ddd |
|
|
Shinya Kitaoka |
120a6e |
class FlipBook : public QWidget,
|
|
Shinya Kitaoka |
120a6e |
public TSoundOutputDeviceListener,
|
|
Shinya Kitaoka |
120a6e |
public FlipConsoleOwner {
|
|
Shinya Kitaoka |
120a6e |
Q_OBJECT
|
|
Toshihiro Shimizu |
890ddd |
|
|
Toshihiro Shimizu |
890ddd |
protected:
|
|
Shinya Kitaoka |
120a6e |
int m_poolIndex;
|
|
Shinya Kitaoka |
120a6e |
|
|
Shinya Kitaoka |
120a6e |
QString m_viewerTitle;
|
|
Shinya Kitaoka |
120a6e |
QString m_title, m_title1;
|
|
Shinya Kitaoka |
120a6e |
ImageViewer *m_imageViewer;
|
|
Shinya Kitaoka |
120a6e |
FlipConsole *m_flipConsole;
|
|
Shinya Kitaoka |
120a6e |
|
|
Shinya Kitaoka |
120a6e |
int m_shrink;
|
|
Shinya Kitaoka |
120a6e |
int m_framesCount;
|
|
Shinya Kitaoka |
120a6e |
TRect m_loadbox;
|
|
Shinya Kitaoka |
120a6e |
TDimension m_dim;
|
|
Shinya Kitaoka |
120a6e |
std::map<std::string, trect=""></std::string,>
|
|
Shinya Kitaoka |
120a6e |
m_loadboxes; // id in the cash, rect loaded actually
|
|
Shinya Kitaoka |
120a6e |
class Level {
|
|
Shinya Kitaoka |
120a6e |
public:
|
|
Shinya Kitaoka |
120a6e |
Level(const TLevelP &level, const TFilePath &fp, int fromIndex, int toIndex,
|
|
Shinya Kitaoka |
120a6e |
int step)
|
|
Shinya Kitaoka |
120a6e |
: m_level(level)
|
|
Shinya Kitaoka |
120a6e |
, m_fp(fp)
|
|
Shinya Kitaoka |
120a6e |
, m_fromIndex(fromIndex)
|
|
Shinya Kitaoka |
120a6e |
, m_toIndex(toIndex)
|
|
Shinya Kitaoka |
120a6e |
, m_step(step)
|
|
Shinya Kitaoka |
120a6e |
, m_randomAccessRead(false)
|
|
shun-iwasawa |
e6b124 |
, m_incrementalIndexing(false)
|
|
shun-iwasawa |
481b59 |
, m_premultiply(false)
|
|
shun-iwasawa |
481b59 |
, m_colorSpaceGamma(LevelOptions::DefaultColorSpaceGamma) {}
|
|
Shinya Kitaoka |
120a6e |
TLevelP m_level;
|
|
Shinya Kitaoka |
120a6e |
int m_fromIndex, m_toIndex, m_step;
|
|
Shinya Kitaoka |
120a6e |
bool m_incrementalIndexing;
|
|
Shinya Kitaoka |
120a6e |
bool m_randomAccessRead;
|
|
shun-iwasawa |
e6b124 |
|
|
shun-iwasawa |
e6b124 |
// Specified if the level is needed to be premultiplied on display.
|
|
shun-iwasawa |
e6b124 |
// It will be true for the files of which the "premultiply" option is
|
|
shun-iwasawa |
e6b124 |
// activated in the Preferences > Loading > "Level Settings by File Format".
|
|
shun-iwasawa |
e6b124 |
// By default, PNG will be loaded with being premultiplied so that it will
|
|
shun-iwasawa |
e6b124 |
// be displayed properly.
|
|
shun-iwasawa |
e6b124 |
bool m_premultiply;
|
|
shun-iwasawa |
e6b124 |
|
|
shun-iwasawa |
481b59 |
// Gamma value to be used when converting EXR files to nonlinear.
|
|
shun-iwasawa |
481b59 |
// It may be set to some value in the Preferences > Loading > "Level
|
|
shun-iwasawa |
481b59 |
// Settings by File Format".
|
|
shun-iwasawa |
481b59 |
double m_colorSpaceGamma;
|
|
shun-iwasawa |
481b59 |
|
|
Shinya Kitaoka |
120a6e |
TFilePath m_fp;
|
|
Shinya Kitaoka |
120a6e |
|
|
Shinya Kitaoka |
120a6e |
TFrameId flipbookIndexToLevelFrame(int index);
|
|
Shinya Kitaoka |
120a6e |
int getIndexesCount();
|
|
Shinya Kitaoka |
120a6e |
};
|
|
Shinya Kitaoka |
120a6e |
|
|
Shinya Kitaoka |
120a6e |
std::vector<level> m_levels;</level>
|
|
Shinya Kitaoka |
120a6e |
std::vector<qstring> m_levelNames;</qstring>
|
|
Shinya Kitaoka |
120a6e |
TPalette *m_palette;
|
|
Shinya Kitaoka |
120a6e |
|
|
Shinya Kitaoka |
120a6e |
bool m_playSound;
|
|
Shinya Kitaoka |
120a6e |
std::vector<std::string> m_addedInCache;</std::string>
|
|
Shinya Kitaoka |
120a6e |
TSoundOutputDevice *m_player;
|
|
Shinya Kitaoka |
120a6e |
TSoundTrack *m_snd;
|
|
Shinya Kitaoka |
120a6e |
|
|
Shinya Kitaoka |
120a6e |
// bool m_doCompare;
|
|
Shinya Kitaoka |
120a6e |
|
|
Shinya Kitaoka |
120a6e |
// questi sono per il saving dei frame
|
|
Shinya Kitaoka |
120a6e |
TLevelWriterP m_lw;
|
|
Shinya Kitaoka |
120a6e |
TLevelReaderP m_lr;
|
|
Shinya Kitaoka |
120a6e |
TXshSimpleLevel *m_xl;
|
|
Shinya Kitaoka |
120a6e |
int m_currentFrameToSave;
|
|
Shinya Kitaoka |
120a6e |
SaveImagesPopup *m_savePopup;
|
|
Shinya Kitaoka |
120a6e |
LoadImagesPopup *m_loadPopup;
|
|
Shinya Kitaoka |
120a6e |
|
|
Shinya Kitaoka |
120a6e |
bool m_isPreviewFx;
|
|
Shinya Kitaoka |
120a6e |
TFxP m_previewedFx;
|
|
Shinya Kitaoka |
120a6e |
TXsheetP m_previewXsh;
|
|
Shinya Kitaoka |
120a6e |
QTimer m_previewUpdateTimer;
|
|
Shinya Kitaoka |
120a6e |
bool m_freezed;
|
|
Shinya Kitaoka |
120a6e |
UCHAR m_flags;
|
|
Shinya Kitaoka |
120a6e |
|
|
Shinya Kitaoka |
120a6e |
TPanelTitleBarButton *m_freezeButton;
|
|
Toshihiro Shimizu |
890ddd |
|
|
Toshihiro Shimizu |
890ddd |
public:
|
|
Shinya Kitaoka |
120a6e |
enum Flags { eDontKeepFilesOpened = 0x1 };
|
|
Shinya Kitaoka |
120a6e |
|
|
Shinya Kitaoka |
120a6e |
FlipBook(QWidget *parent = 0, QString viewerTitle = QString(),
|
|
manongjohn |
77dd6e |
std::vector<int> flipConsoleButtonMask =</int>
|
|
manongjohn |
77dd6e |
{FlipConsole::eFilledRaster, FlipConsole::eDefineSubCamera,
|
|
manongjohn |
77dd6e |
FlipConsole::eLocator, FlipConsole::eZoomIn,
|
|
manongjohn |
77dd6e |
FlipConsole::eZoomOut, FlipConsole::eFlipHorizontal,
|
|
manongjohn |
77dd6e |
FlipConsole::eFlipVertical, FlipConsole::eResetView},
|
|
Shinya Kitaoka |
120a6e |
UCHAR flags = 0, bool isColorModel = false);
|
|
Shinya Kitaoka |
120a6e |
~FlipBook();
|
|
Shinya Kitaoka |
120a6e |
void setLevel(const TFilePath &path, TPalette *palette = 0, int from = -1,
|
|
Shinya Kitaoka |
120a6e |
int to = -1, int step = 1, int shrink = 1, TSoundTrack *snd = 0,
|
|
Shinya Kitaoka |
120a6e |
bool append = false, bool isToonzOutput = false);
|
|
Shinya Kitaoka |
120a6e |
void setLevel(TFx *previewedFx, TXsheet *xsh, TLevel *level,
|
|
Shinya Kitaoka |
120a6e |
TPalette *palette = 0, int from = -1, int to = -1, int step = 1,
|
|
Shinya Kitaoka |
120a6e |
int currentFrame = 1, TSoundTrack *snd = 0);
|
|
Shinya Kitaoka |
120a6e |
void setLevel(TXshSimpleLevel *xl);
|
|
Shinya Kitaoka |
473e70 |
void onPlayCompleted() override {}
|
|
Shinya Kitaoka |
120a6e |
bool doSaveImages(TFilePath fp);
|
|
Shinya Kitaoka |
120a6e |
int getCurrentFrame() { return m_flipConsole->getCurrentFrame(); }
|
|
Shinya Kitaoka |
120a6e |
QString getLevelZoomTitle() const { return m_title1 + m_title; }
|
|
Shinya Kitaoka |
120a6e |
void setTitle(const QString &title);
|
|
Shinya Kitaoka |
120a6e |
QString getTitle() const { return m_viewerTitle; }
|
|
Shinya Kitaoka |
120a6e |
void showFrame(int frame);
|
|
Shinya Kitaoka |
120a6e |
|
|
Shinya Kitaoka |
120a6e |
TFx *getPreviewedFx() const;
|
|
Shinya Kitaoka |
120a6e |
TXsheet *getPreviewXsheet() const;
|
|
Shinya Kitaoka |
120a6e |
bool isFreezed() const { return m_freezed; }
|
|
Shinya Kitaoka |
120a6e |
TRectD getPreviewedImageGeometry() const;
|
|
Shinya Kitaoka |
120a6e |
void schedulePreviewedFxUpdate();
|
|
Shinya Kitaoka |
120a6e |
|
|
Shinya Kitaoka |
120a6e |
bool canAppend();
|
|
Shinya Kitaoka |
120a6e |
bool isSavable() const;
|
|
Shinya Kitaoka |
120a6e |
|
|
Shinya Kitaoka |
120a6e |
void setPoolIndex(int poolIndex) { m_poolIndex = poolIndex; }
|
|
Shinya Kitaoka |
120a6e |
int getPoolIndex() const { return m_poolIndex; }
|
|
Shinya Kitaoka |
120a6e |
|
|
Shinya Kitaoka |
120a6e |
// show / hide the red border line indicating the frame is under rendering
|
|
Shinya Kitaoka |
120a6e |
void setIsRemakingPreviewFx(bool on) {
|
|
Shinya Kitaoka |
120a6e |
m_imageViewer->setIsRemakingPreviewFx(on);
|
|
Shinya Kitaoka |
120a6e |
}
|
|
Shinya Kitaoka |
120a6e |
void addFreezeButtonToTitleBar();
|
|
Shinya Kitaoka |
120a6e |
|
|
Shinya Kitaoka |
120a6e |
void setProgressBarStatus(const std::vector<uchar> *pbStatus);</uchar>
|
|
Shinya Kitaoka |
120a6e |
const std::vector<uchar> *getProgressBarStatus() const;</uchar>
|
|
Shinya Kitaoka |
120a6e |
|
|
Shinya Kitaoka |
120a6e |
void adaptGeometry(const TRect &interestingImgRect, const TRect &imgRect);
|
|
Shinya Kitaoka |
120a6e |
|
|
Shinya Kitaoka |
120a6e |
// When Fx preview is called without the subcamera,
|
|
Shinya Kitaoka |
120a6e |
// render the full region of camera by resize flipbook and
|
|
Shinya Kitaoka |
120a6e |
// zoom-out the rendered image.
|
|
Shinya Kitaoka |
120a6e |
void adaptGeometryForFullPreview(const TRect &imgRect);
|
|
Shinya Kitaoka |
120a6e |
|
|
shun-iwasawa |
b272a7 |
void adaptGeometryToCurrentSize();
|
|
shun-iwasawa |
b272a7 |
void zoomAndAdaptGeometry(bool forward);
|
|
shun-iwasawa |
b272a7 |
|
|
Shinya Kitaoka |
120a6e |
void reset();
|
|
Shinya Kitaoka |
120a6e |
|
|
shun-iwasawa |
fe0983 |
void onDrawFrame(int frame, const ImagePainter::VisualSettings &vs,
|
|
shun-iwasawa |
fe0983 |
QElapsedTimer *timer, qint64 targetInstant) override;
|
|
Shinya Kitaoka |
120a6e |
|
|
Shinya Kitaoka |
120a6e |
void minimize(bool doMinimize);
|
|
Shinya Kitaoka |
120a6e |
|
|
Shinya Kitaoka |
120a6e |
ImageViewer *getImageViewer() { return m_imageViewer; }
|
|
Shinya Kitaoka |
120a6e |
TRect getLoadbox() const { return m_loadbox; }
|
|
Shinya Kitaoka |
120a6e |
void setLoadbox(const TRect &box);
|
|
Shinya Kitaoka |
120a6e |
TDimension getImageSize() const { return m_dim; }
|
|
Shinya Kitaoka |
120a6e |
|
|
Shinya Kitaoka |
473e70 |
void swapBuffers() override;
|
|
Shinya Kitaoka |
473e70 |
void changeSwapBehavior(bool enable) override;
|
|
Toshihiro Shimizu |
890ddd |
|
|
Toshihiro Shimizu |
890ddd |
private:
|
|
Shinya Kitaoka |
120a6e |
// When viewing the tlv, try to cache all frames at the beginning.
|
|
Shinya Kitaoka |
120a6e |
// NOTE : fromFrame and toFrame are frame numbers displayed on the flipbook
|
|
Shinya Kitaoka |
120a6e |
void loadAndCacheAllTlvImages(Level level, int fromFrame, int toFrame);
|
|
Toshihiro Shimizu |
890ddd |
|
|
Shinya Kitaoka |
120a6e |
friend class PreviewFxManager;
|
|
Toshihiro Shimizu |
890ddd |
|
|
Toshihiro Shimizu |
890ddd |
protected:
|
|
Shinya Kitaoka |
120a6e |
void clearCache();
|
|
Shinya Kitaoka |
120a6e |
void adaptWidGeometry(const TRect &interestWidRect, const TRect &imgWidRect,
|
|
Shinya Kitaoka |
120a6e |
bool keepPosition);
|
|
Toshihiro Shimizu |
890ddd |
|
|
Shinya Kitaoka |
473e70 |
void dragEnterEvent(QDragEnterEvent *e) override;
|
|
Shinya Kitaoka |
473e70 |
void dropEvent(QDropEvent *e) override;
|
|
Toshihiro Shimizu |
890ddd |
|
|
Shinya Kitaoka |
120a6e |
void playAudioFrame(int frame);
|
|
Shinya Kitaoka |
120a6e |
TImageP getCurrentImage(int frame);
|
|
Toshihiro Shimizu |
890ddd |
|
|
Shinya Kitaoka |
473e70 |
void showEvent(QShowEvent *e) override;
|
|
Shinya Kitaoka |
473e70 |
void hideEvent(QHideEvent *e) override;
|
|
Shinya Kitaoka |
473e70 |
void focusInEvent(QFocusEvent *e) override;
|
|
Shinya Kitaoka |
473e70 |
void resizeEvent(QResizeEvent *e) override;
|
|
Toshihiro Shimizu |
890ddd |
|
|
Shinya Kitaoka |
473e70 |
void enterEvent(QEvent *e) override { m_flipConsole->makeCurrent(); }
|
|
Toshihiro Shimizu |
890ddd |
|
|
Toshihiro Shimizu |
890ddd |
signals:
|
|
Toshihiro Shimizu |
890ddd |
|
|
Shinya Kitaoka |
120a6e |
void closeFlipBook(FlipBook *);
|
|
Shinya Kitaoka |
120a6e |
// when freeze button is released, emit the signal to PreviewFxManager for
|
|
Shinya Kitaoka |
120a6e |
// re-rendering
|
|
Shinya Kitaoka |
120a6e |
void unfreezed(FlipBook *);
|
|
Shinya Kitaoka |
120a6e |
// when using the flip module, this signal is to show the loaded level names
|
|
Shinya Kitaoka |
120a6e |
// in application's title bar
|
|
Shinya Kitaoka |
120a6e |
void imageLoaded(QString &);
|
|
Toshihiro Shimizu |
890ddd |
|
|
Toshihiro Shimizu |
890ddd |
protected slots:
|
|
Toshihiro Shimizu |
890ddd |
|
|
Shinya Kitaoka |
120a6e |
void onDoubleClick(QMouseEvent *me);
|
|
Shinya Kitaoka |
120a6e |
void onButtonPressed(FlipConsole::EGadget button);
|
|
Shinya Kitaoka |
120a6e |
void onCloseButtonPressed();
|
|
Shinya Kitaoka |
120a6e |
void saveImage();
|
|
Toshihiro Shimizu |
890ddd |
|
|
Shinya Kitaoka |
120a6e |
void freeze(bool on);
|
|
Toshihiro Shimizu |
890ddd |
|
|
Toshihiro Shimizu |
890ddd |
public slots:
|
|
Toshihiro Shimizu |
890ddd |
|
|
Shinya Kitaoka |
120a6e |
void saveImages();
|
|
Shinya Kitaoka |
120a6e |
void loadImages();
|
|
Toshihiro Shimizu |
890ddd |
|
|
Shinya Kitaoka |
120a6e |
void performFxUpdate();
|
|
Shinya Kitaoka |
120a6e |
void regenerate();
|
|
Shinya Kitaoka |
120a6e |
void regenerateFrame();
|
|
Shinya Kitaoka |
120a6e |
void clonePreview();
|
|
Shinya Kitaoka |
120a6e |
void freezePreview();
|
|
Shinya Kitaoka |
120a6e |
void unfreezePreview();
|
|
Toshihiro Shimizu |
890ddd |
};
|
|
Toshihiro Shimizu |
890ddd |
|
|
Shinya Kitaoka |
120a6e |
// utility
|
|
shun_iwasawa |
cc002f |
// returns pointer to the opened flipbook to control modality.
|
|
Toshihiro Shimizu |
890ddd |
|
|
shun_iwasawa |
cc002f |
FlipBook *viewFile(const TFilePath &fp, int from = -1, int to = -1,
|
|
shun_iwasawa |
cc002f |
int step = -1, int shrink = -1, TSoundTrack *snd = 0,
|
|
shun_iwasawa |
cc002f |
FlipBook *flipbook = 0, bool append = false,
|
|
shun_iwasawa |
cc002f |
bool isToonzOutput = false);
|
|
Toshihiro Shimizu |
890ddd |
|
|
Shinya Kitaoka |
120a6e |
#endif // FLIPBOOK_H
|