mirror of
https://bitbucket.org/mfeemster/fractorium.git
synced 2025-06-30 21:36:33 -04:00
1.0.0.2 12/05/2016
--User changes -Add many tooltips to help clarify functionality. -Select multiple flames in library for del/move. Still only one allowed to be set as the current. -Show checkbox for current flame. Remember this is not necessarily what's selected. -User can now drag a square to select xforms, which keeps in sync with checkboxes. -Remove --nframes from command line. Replace with new params: --loopframes, --interpframes, --interploops. -Add two new options to EmberGenome: --cwloops --cwinterploops to specify whether rotation should go clockwise instead of the default counter clockwise. -Add these to Fractorium as checkboxes. -Apply All now also works for toggling animate flag on xforms. -Options dialog now allows user to set whether double click toggles spinners, or right click does. --Bug fixes -Selecting final and non-final xforms, and then dragging the non-final did not drag the final with it. -Selecting all xforms when a final was present, then deleting crashed the program. -Remove support for ppm files in the command line programs, it's an outdated format. -Switching between SP and DP kept reapplying the palette adjustments. --Code changes -Move build system to Visual Studio 2015 and Qt 5.6. -SSE used during addition of points to the histogram. -Remove last remnants of old flam3 C code and replace with C++. -Remove unused code involving tbb::task_group. -Make settings object a global shared_ptr singleton, so it doesn't have to be passed around.
This commit is contained in:
@ -1,6 +1,7 @@
|
||||
#pragma once
|
||||
|
||||
#include "FractoriumPch.h"
|
||||
#include "FractoriumSettings.h"
|
||||
|
||||
/// <summary>
|
||||
/// Fractorium global utility functions.
|
||||
@ -30,6 +31,7 @@
|
||||
template<typename spinType, typename valType>
|
||||
static void SetupSpinner(QTableWidget* table, const QObject* receiver, int& row, int col, spinType*& spinBox, int height, valType min, valType max, valType step, const char* signal, const char* slot, bool incRow = true, valType val = 0, valType doubleClickZero = -999, valType doubleClickNonZero = -999)
|
||||
{
|
||||
auto settings = FractoriumSettings::DefInstance();
|
||||
spinBox = new spinType(table, height, step);
|
||||
spinBox->setRange(min, max);
|
||||
spinBox->setValue(val);
|
||||
@ -450,3 +452,21 @@ bool ConstrainHigh(T* low, T* high)
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Move all, possibly disjointly, selected items in a range to
|
||||
/// a new location and update all existing locations.
|
||||
/// Atribution: Sean Parent, Going Native 2013.
|
||||
/// </summary>
|
||||
/// <param name="f">The location of the first selected item, or the start of the collection.</param>
|
||||
/// <param name="l">The location of the last selected item, or the end of the collection.</param>
|
||||
/// <returns>A pair of iterators representing the start and end locations of the list of newly moved items</returns>
|
||||
template <typename I, typename S>
|
||||
pair<I, I> Gather(I f, I l, I p, S s)
|
||||
{
|
||||
return
|
||||
{
|
||||
stable_partition(f, p, [&](const typename iterator_traits<I>::value_type & x) { return !s(x); }),
|
||||
stable_partition(p, l, s)
|
||||
};
|
||||
}
|
||||
|
Reference in New Issue
Block a user