mirror of
https://bitbucket.org/mfeemster/fractorium.git
synced 2025-01-21 05:00:06 -05:00
Scroll panels for certain areas of the UI
0.4.0.6 Beta 07/22/2014 --User Changes Place certain areas of the UI on scroll panels so they are not obscured on low resolution monitors.
This commit is contained in:
parent
280473c8a0
commit
ed8850e3db
4
.gitignore
vendored
4
.gitignore
vendored
@ -27,4 +27,6 @@
|
||||
*.idb
|
||||
*.flam3
|
||||
*moc_*
|
||||
*GeneratedFiles*
|
||||
*GeneratedFiles*
|
||||
*.unsuccessfulbuild
|
||||
*\Obj\*
|
@ -6,7 +6,7 @@
|
||||
<ProductVersion>3.7</ProductVersion>
|
||||
<ProjectGuid>{c8096c47-e358-438c-a520-146d46b0637d}</ProjectGuid>
|
||||
<SchemaVersion>2.0</SchemaVersion>
|
||||
<OutputName>Fractorium_Beta_0.4.0.5</OutputName>
|
||||
<OutputName>Fractorium_Beta_0.4.0.6</OutputName>
|
||||
<OutputType>Package</OutputType>
|
||||
<WixTargetsPath Condition=" '$(WixTargetsPath)' == '' AND '$(MSBuildExtensionsPath32)' != '' ">$(MSBuildExtensionsPath32)\Microsoft\WiX\v3.x\Wix.targets</WixTargetsPath>
|
||||
<WixTargetsPath Condition=" '$(WixTargetsPath)' == '' ">$(MSBuildExtensionsPath)\Microsoft\WiX\v3.x\Wix.targets</WixTargetsPath>
|
||||
|
@ -1,6 +1,6 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<Wix xmlns="http://schemas.microsoft.com/wix/2006/wi">
|
||||
<?define ProductVersion="0.4.0.5" ?>
|
||||
<?define ProductVersion="0.4.0.6" ?>
|
||||
<?define ProductName="Fractorium Beta $(var.ProductVersion) ($(var.GpuType))" ?>
|
||||
<?define UpgradeCode="{4714cd15-bfba-44f6-8059-9e1466ebfa6e}"?>
|
||||
<?define Manufacturer="Fractorium"?>
|
||||
@ -13,7 +13,7 @@
|
||||
<!--
|
||||
Change this for every release.
|
||||
-->
|
||||
<?define ProductCode="{9059E2AE-AC08-44B1-93D5-AAAC258506E6}"?>
|
||||
<?define ProductCode="{16DA4191-1391-40D5-BA37-C4BC0ADED012}"?>
|
||||
|
||||
<Product Id="$(var.ProductCode)" Name="$(var.ProductName)" Language="1033" Version="$(var.ProductVersion)" Manufacturer="$(var.Manufacturer)" UpgradeCode="$(var.UpgradeCode)">
|
||||
<Package
|
||||
|
@ -1,3 +1,7 @@
|
||||
0.4.0.6 Beta 07/22/2014
|
||||
--User Changes
|
||||
Place certain areas of the UI on scroll panels so they are not obscured on low resolution monitors.
|
||||
|
||||
0.4.0.5 Beta 07/18/2014
|
||||
--User Changes
|
||||
Allow for vibrancy values > 1.
|
||||
|
@ -1095,6 +1095,10 @@ public:
|
||||
std::sort(m_Xforms.end() - result, m_Xforms.end(), &Interpolater<T>::CompareXforms);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Return a uint with bits set to indicate which kind of projection should be done.
|
||||
/// </summary>
|
||||
/// <param name="onlyScaleIfNewIsSmaller">A uint with bits set for each kind of projection that is needed</param>
|
||||
unsigned int ProjBits()
|
||||
{
|
||||
unsigned int val = 0;
|
||||
@ -1108,15 +1112,30 @@ public:
|
||||
return val;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Call the appropriate projection function via function pointer.
|
||||
/// </summary>
|
||||
/// <param name="point">The point to project</param>
|
||||
/// <param name="rand">The Isaac object to pass to the projection functions</param>
|
||||
inline void Proj(Point<T>& point, QTIsaac<ISAAC_SIZE, ISAAC_INT>& rand)
|
||||
{
|
||||
(this->*m_ProjFunc)(point, rand);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Placeholder to do nothing.
|
||||
/// </summary>
|
||||
/// <param name="point">Unused</param>
|
||||
/// <param name="rand">Unused</param>
|
||||
void ProjectNone(Point<T>& point, QTIsaac<ISAAC_SIZE, ISAAC_INT>& rand)
|
||||
{
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Project when only z is set, and not pitch, yaw, projection or depth blur.
|
||||
/// </summary>
|
||||
/// <param name="point">The point to project</param>
|
||||
/// <param name="rand">Unused</param>
|
||||
void ProjectZPerspective(Point<T>& point, QTIsaac<ISAAC_SIZE, ISAAC_INT>& rand)
|
||||
{
|
||||
T zr = Zeps(1 - m_CamPerspective * (point.m_Z - m_CamZPos));
|
||||
@ -1126,6 +1145,11 @@ public:
|
||||
point.m_Z -= m_CamZPos;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Project when pitch, and optionally z and perspective are set, but not depth blur or yaw.
|
||||
/// </summary>
|
||||
/// <param name="point">The point to project</param>
|
||||
/// <param name="rand">Unused</param>
|
||||
void ProjectPitch(Point<T>& point, QTIsaac<ISAAC_SIZE, ISAAC_INT>& rand)
|
||||
{
|
||||
T z = point.m_Z - m_CamZPos;
|
||||
@ -1137,6 +1161,11 @@ public:
|
||||
point.m_Z -= m_CamZPos;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Project when depth blur, and optionally pitch, perspective and z are set, but not yaw.
|
||||
/// </summary>
|
||||
/// <param name="point">The point to project</param>
|
||||
/// <param name="rand">Used for blurring</param>
|
||||
void ProjectPitchDepthBlur(Point<T>& point, QTIsaac<ISAAC_SIZE, ISAAC_INT>& rand)
|
||||
{
|
||||
T y, z, zr;
|
||||
@ -1157,6 +1186,11 @@ public:
|
||||
point.m_Z -= m_CamZPos;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Project when depth blur, yaw and optionally pitch are set, but not perspective and z.
|
||||
/// </summary>
|
||||
/// <param name="point">The point to project</param>
|
||||
/// <param name="rand">Used for blurring</param>
|
||||
void ProjectPitchYawDepthBlur(Point<T>& point, QTIsaac<ISAAC_SIZE, ISAAC_INT>& rand)
|
||||
{
|
||||
T dsin, dcos;
|
||||
@ -1177,6 +1211,11 @@ public:
|
||||
point.m_Z -= m_CamZPos;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Project when yaw and optionally pitch, z, and perspective are set, but not depth blur.
|
||||
/// </summary>
|
||||
/// <param name="point">The point to project</param>
|
||||
/// <param name="rand">Unused</param>
|
||||
void ProjectPitchYaw(Point<T>& point, QTIsaac<ISAAC_SIZE, ISAAC_INT>& rand)
|
||||
{
|
||||
T z = point.m_Z - m_CamZPos;
|
||||
@ -1573,11 +1612,12 @@ public:
|
||||
|
||||
private:
|
||||
/// <summary>
|
||||
/// Interps the t.
|
||||
/// Interpolation function that takes the address of a member variable of type T as a template parameter.
|
||||
/// This is an alternative to using macros.
|
||||
/// </summary>
|
||||
/// <param name="embers">The embers.</param>
|
||||
/// <param name="coefs">The coefs.</param>
|
||||
/// <param name="size">The size.</param>
|
||||
/// <param name="embers">The list of embers to interpolate</param>
|
||||
/// <param name="coefs">The list of coefficients to interpolate</param>
|
||||
/// <param name="size">The size of the lists, both must match.</param>
|
||||
template <T Ember<T>::*m>
|
||||
void InterpT(Ember<T>* embers, vector<T>& coefs, size_t size)
|
||||
{
|
||||
@ -1587,6 +1627,12 @@ private:
|
||||
this->*m += coefs[k] * embers[k].*m;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Interpolation function that takes the address of a member variable of any type as a template parameter.
|
||||
/// </summary>
|
||||
/// <param name="embers">The list of embers to interpolate</param>
|
||||
/// <param name="coefs">The list of coefficients to interpolate</param>
|
||||
/// <param name="size">The size of the lists, both must match.</param>
|
||||
template <typename M, M Ember<T>::*m>
|
||||
void InterpX(Ember<T>* embers, vector<T>& coefs, size_t size)
|
||||
{
|
||||
@ -1596,6 +1642,12 @@ private:
|
||||
this->*m += coefs[k] * embers[k].*m;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Interpolation function that takes the address of a member variable of type integer as a template parameter.
|
||||
/// </summary>
|
||||
/// <param name="embers">The list of embers to interpolate</param>
|
||||
/// <param name="coefs">The list of coefficients to interpolate</param>
|
||||
/// <param name="size">The size of the lists, both must match.</param>
|
||||
template <unsigned int Ember<T>::*m>
|
||||
void InterpI(Ember<T>* embers, vector<T>& coefs, size_t size)
|
||||
{
|
||||
@ -1607,6 +1659,15 @@ private:
|
||||
this->*m = (int)Rint(t);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Interpolation function that takes the address of an xform member variable of type T as a template parameter.
|
||||
/// This is an alternative to using macros.
|
||||
/// </summary>
|
||||
/// <param name="xform">A pointer to a list of xforms to interpolate</param>
|
||||
/// <param name="i">The xform index to interpolate</param>
|
||||
/// <param name="embers">The list of embers to interpolate</param>
|
||||
/// <param name="coefs">The list of coefficients to interpolate</param>
|
||||
/// <param name="size">The size of the lists, both must match.</param>
|
||||
template <T Xform<T>::*m>
|
||||
void InterpXform(Xform<T>* xform, unsigned int i, Ember<T>* embers, vector<T>& coefs, size_t size)
|
||||
{
|
||||
|
@ -25,7 +25,7 @@ namespace EmberNs
|
||||
extern void sincos(double x, double *s, double *c);
|
||||
#endif
|
||||
|
||||
#define EMBER_VERSION "0.4.0.5"
|
||||
#define EMBER_VERSION "0.4.0.6"
|
||||
#define EPS6 T(1e-6)
|
||||
#define EPS std::numeric_limits<T>::epsilon()//Apoplugin.h uses -20, but it's more mathematically correct to do it this way.
|
||||
#define ISAAC_SIZE 4
|
||||
|
@ -49,8 +49,8 @@ END
|
||||
//
|
||||
|
||||
VS_VERSION_INFO VERSIONINFO
|
||||
FILEVERSION 0,4,0,5
|
||||
PRODUCTVERSION 0,4,0,5
|
||||
FILEVERSION 0,4,0,6
|
||||
PRODUCTVERSION 0,4,0,6
|
||||
FILEFLAGSMASK 0x3fL
|
||||
#ifdef _DEBUG
|
||||
FILEFLAGS 0x1L
|
||||
@ -67,12 +67,12 @@ BEGIN
|
||||
BEGIN
|
||||
VALUE "CompanyName", "Open Source"
|
||||
VALUE "FileDescription", "Renders fractal flames as animations with motion blur"
|
||||
VALUE "FileVersion", "0.4.0.5"
|
||||
VALUE "FileVersion", "0.4.0.6"
|
||||
VALUE "InternalName", "EmberAnimate.rc"
|
||||
VALUE "LegalCopyright", "Copyright (C) Matt Feemster 2013, GPL v3"
|
||||
VALUE "OriginalFilename", "EmberAnimate.rc"
|
||||
VALUE "ProductName", "Ember Animate"
|
||||
VALUE "ProductVersion", "0.4.0.5"
|
||||
VALUE "ProductVersion", "0.4.0.6"
|
||||
END
|
||||
END
|
||||
BLOCK "VarFileInfo"
|
||||
|
@ -49,8 +49,8 @@ END
|
||||
//
|
||||
|
||||
VS_VERSION_INFO VERSIONINFO
|
||||
FILEVERSION 0,4,0,5
|
||||
PRODUCTVERSION 0,4,0,5
|
||||
FILEVERSION 0,4,0,6
|
||||
PRODUCTVERSION 0,4,0,6
|
||||
FILEFLAGSMASK 0x3fL
|
||||
#ifdef _DEBUG
|
||||
FILEFLAGS 0x1L
|
||||
@ -67,12 +67,12 @@ BEGIN
|
||||
BEGIN
|
||||
VALUE "CompanyName", "Open Source"
|
||||
VALUE "FileDescription", "Manipulates fractal flames parameter files"
|
||||
VALUE "FileVersion", "0.4.0.5"
|
||||
VALUE "FileVersion", "0.4.0.6"
|
||||
VALUE "InternalName", "EmberGenome.rc"
|
||||
VALUE "LegalCopyright", "Copyright (C) Matt Feemster 2013, GPL v3"
|
||||
VALUE "OriginalFilename", "EmberGenome.rc"
|
||||
VALUE "ProductName", "Ember Genome"
|
||||
VALUE "ProductVersion", "0.4.0.5"
|
||||
VALUE "ProductVersion", "0.4.0.6"
|
||||
END
|
||||
END
|
||||
BLOCK "VarFileInfo"
|
||||
|
@ -49,8 +49,8 @@ END
|
||||
//
|
||||
|
||||
VS_VERSION_INFO VERSIONINFO
|
||||
FILEVERSION 0,4,0,5
|
||||
PRODUCTVERSION 0,4,0,5
|
||||
FILEVERSION 0,4,0,6
|
||||
PRODUCTVERSION 0,4,0,6
|
||||
FILEFLAGSMASK 0x3fL
|
||||
#ifdef _DEBUG
|
||||
FILEFLAGS 0x1L
|
||||
@ -67,12 +67,12 @@ BEGIN
|
||||
BEGIN
|
||||
VALUE "CompanyName", "Open Source"
|
||||
VALUE "FileDescription", "Renders fractal flames as single images"
|
||||
VALUE "FileVersion", "0.4.0.5"
|
||||
VALUE "FileVersion", "0.4.0.6"
|
||||
VALUE "InternalName", "EmberRender.rc"
|
||||
VALUE "LegalCopyright", "Copyright (C) Matt Feemster 2013, GPL v3"
|
||||
VALUE "OriginalFilename", "EmberRender.rc"
|
||||
VALUE "ProductName", "Ember Render"
|
||||
VALUE "ProductVersion", "0.4.0.5"
|
||||
VALUE "ProductVersion", "0.4.0.6"
|
||||
END
|
||||
END
|
||||
BLOCK "VarFileInfo"
|
||||
|
@ -52,7 +52,7 @@
|
||||
</font>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string><html><head/><body><p align="center"><br/><span style=" font-size:12pt;">Fractorium 0.4.0.5 Beta</span></p><p align="center"><span style=" font-size:10pt;"><br/>A Qt-based fractal flame editor which uses a C++ re-write of the flam3 algorithm named Ember and a GPU capable version named EmberCL which implements a portion of the cuburn algorithm in OpenCL.</span></p><p align="center"><span style=" font-size:10pt;">Matt Feemster</span></p></body></html></string>
|
||||
<string><html><head/><body><p align="center"><br/><span style=" font-size:12pt;">Fractorium 0.4.0.6 Beta</span></p><p align="center"><span style=" font-size:10pt;"><br/>A Qt-based fractal flame editor which uses a C++ re-write of the flam3 algorithm named Ember and a GPU capable version named EmberCL which implements a portion of the cuburn algorithm in OpenCL.</span></p><p align="center"><span style=" font-size:10pt;">Matt Feemster</span></p></body></html></string>
|
||||
</property>
|
||||
<property name="textFormat">
|
||||
<enum>Qt::RichText</enum>
|
||||
|
Binary file not shown.
File diff suppressed because it is too large
Load Diff
Loading…
Reference in New Issue
Block a user