#pragma once #include "FractoriumPch.h" /// /// FractoriumSettings class. /// #define EARLYCLIP "render/earlyclip" #define YAXISUP "render/yaxisup" #define TRANSPARENCY "render/transparency" #define OPENCL "render/opencl" #define DOUBLEPRECISION "render/dp64" #define CONTUPDATE "render/continuousupdate" #define SHOWALLXFORMS "render/dragshowallxforms" #define PLATFORMINDEX "render/platformindex" #define DEVICEINDEX "render/deviceindex" #define THREADCOUNT "render/threadcount" #define CPUDEFILTER "render/cpudefilter" #define OPENCLDEFILTER "render/opencldefilter" #define CPUSUBBATCH "render/cpusubbatch" #define OPENCLSUBBATCH "render/openclsubbatch" #define FINALEARLYCLIP "finalrender/earlyclip" #define FINALYAXISUP "finalrender/finalyaxisup" #define FINALTRANSPARENCY "finalrender/transparency" #define FINALOPENCL "finalrender/opencl" #define FINALDOUBLEPRECISION "finalrender/dp64" #define FINALSAVEXML "finalrender/savexml" #define FINALDOALL "finalrender/doall" #define FINALDOSEQUENCE "finalrender/dosequence" #define FINALKEEPASPECT "finalrender/keepaspect" #define FINALSCALE "finalrender/scale" #define FINALEXT "finalrender/ext" #define FINALPLATFORMINDEX "finalrender/platformindex" #define FINALDEVICEINDEX "finalrender/deviceindex" #define FINALTHREADCOUNT "finalrender/threadcount" #define FINALTHREADPRIORITY "finalrender/threadpriority" #define FINALQUALITY "finalrender/quality" #define FINALTEMPORALSAMPLES "finalrender/temporalsamples" #define FINALSUPERSAMPLE "finalrender/supersample" #define FINALSTRIPS "finalrender/strips" #define XMLWIDTH "xml/width" #define XMLHEIGHT "xml/height" #define XMLTEMPORALSAMPLES "xml/temporalsamples" #define XMLQUALITY "xml/quality" #define XMLSUPERSAMPLE "xml/supersample" #define OPENFOLDER "path/open" #define SAVEFOLDER "path/save" #define OPENXMLEXT "file/openxmlext" #define SAVEXMLEXT "file/savexmlext" #define OPENIMAGEEXT "file/openimageext" #define SAVEIMAGEEXT "file/saveimageext" #define AUTOUNIQUE "file/autounique" #define IDENTITYID "identity/id" #define IDENTITYURL "identity/url" #define IDENTITYNICK "identity/nick" #define UIVARIATIONS "ui/variations" /// /// Class for preserving various program options between /// runs of Fractorium. Each of these generally corresponds /// to items in the options dialog and the final render dialog. /// class FractoriumSettings : public QSettings { Q_OBJECT public: FractoriumSettings(QObject* p); void EnsureDefaults(); bool EarlyClip(); void EarlyClip(bool b); bool YAxisUp(); void YAxisUp(bool b); bool Transparency(); void Transparency(bool b); bool OpenCL(); void OpenCL(bool b); bool Double(); void Double(bool b); bool ShowAllXforms(); void ShowAllXforms(bool b); bool ContinuousUpdate(); void ContinuousUpdate(bool b); uint PlatformIndex(); void PlatformIndex(uint b); uint DeviceIndex(); void DeviceIndex(uint b); uint ThreadCount(); void ThreadCount(uint b); bool CpuDEFilter(); void CpuDEFilter(bool b); bool OpenCLDEFilter(); void OpenCLDEFilter(bool b); uint CpuSubBatch(); void CpuSubBatch(uint b); uint OpenCLSubBatch(); void OpenCLSubBatch(uint b); bool FinalEarlyClip(); void FinalEarlyClip(bool b); bool FinalYAxisUp(); void FinalYAxisUp(bool b); bool FinalTransparency(); void FinalTransparency(bool b); bool FinalOpenCL(); void FinalOpenCL(bool b); bool FinalDouble(); void FinalDouble(bool b); bool FinalSaveXml(); void FinalSaveXml(bool b); bool FinalDoAll(); void FinalDoAll(bool b); bool FinalDoSequence(); void FinalDoSequence(bool b); bool FinalKeepAspect(); void FinalKeepAspect(bool b); uint FinalScale(); void FinalScale(uint i); QString FinalExt(); void FinalExt(const QString& s); uint FinalPlatformIndex(); void FinalPlatformIndex(uint b); uint FinalDeviceIndex(); void FinalDeviceIndex(uint b); uint FinalThreadCount(); void FinalThreadCount(uint b); uint FinalThreadPriority(); void FinalThreadPriority(int b); uint FinalQuality(); void FinalQuality(uint i); uint FinalTemporalSamples(); void FinalTemporalSamples(uint i); uint FinalSupersample(); void FinalSupersample(uint i); uint FinalStrips(); void FinalStrips(uint i); uint XmlTemporalSamples(); void XmlTemporalSamples(uint i); uint XmlQuality(); void XmlQuality(uint i); uint XmlSupersample(); void XmlSupersample(uint i); QString OpenFolder(); void OpenFolder(const QString& s); QString SaveFolder(); void SaveFolder(const QString& s); QString OpenXmlExt(); void OpenXmlExt(const QString& s); QString SaveXmlExt(); void SaveXmlExt(const QString& s); QString OpenImageExt(); void OpenImageExt(const QString& s); QString SaveImageExt(); void SaveImageExt(const QString& s); bool SaveAutoUnique(); void SaveAutoUnique(bool b); QString Id(); void Id(const QString& s); QString Url(); void Url(const QString& s); QString Nick(); void Nick(const QString& s); QMap Variations(); void Variations(const QMap& m); };