mirror of
https://github.com/juce-framework/JUCE.git
synced 2026-02-02 03:20:06 +00:00
Fix for checkerboard rendering. Minor clean-ups.
This commit is contained in:
parent
a9b1c0cd4e
commit
258414bad2
7 changed files with 25 additions and 29 deletions
|
|
@ -691,7 +691,7 @@ private:
|
|||
ParamHolder (uint32_t num) { params = new var [num]; }
|
||||
~ParamHolder() { delete[] params; }
|
||||
|
||||
var* params;
|
||||
var* params;
|
||||
};
|
||||
|
||||
ParamHolder params (argCount);
|
||||
|
|
|
|||
|
|
@ -3948,7 +3948,6 @@ public:
|
|||
|
||||
virtual int toInt (const ValueUnion&) const { return 0; }
|
||||
virtual double toDouble (const ValueUnion&) const { return 0; }
|
||||
virtual float toFloat (const ValueUnion&) const { return 0; }
|
||||
virtual const String toString (const ValueUnion&) const { return String::empty; }
|
||||
virtual bool toBool (const ValueUnion&) const { return false; }
|
||||
virtual DynamicObject* toObject (const ValueUnion&) const { return 0; }
|
||||
|
|
@ -3984,7 +3983,6 @@ public:
|
|||
|
||||
int toInt (const ValueUnion& data) const { return data.intValue; };
|
||||
double toDouble (const ValueUnion& data) const { return (double) data.intValue; }
|
||||
float toFloat (const ValueUnion& data) const { return (float) data.intValue; }
|
||||
const String toString (const ValueUnion& data) const { return String (data.intValue); }
|
||||
bool toBool (const ValueUnion& data) const { return data.intValue != 0; }
|
||||
|
||||
|
|
@ -4010,7 +4008,6 @@ public:
|
|||
|
||||
int toInt (const ValueUnion& data) const { return (int) data.doubleValue; };
|
||||
double toDouble (const ValueUnion& data) const { return data.doubleValue; }
|
||||
float toFloat (const ValueUnion& data) const { return (float) data.doubleValue; }
|
||||
const String toString (const ValueUnion& data) const { return String (data.doubleValue); }
|
||||
bool toBool (const ValueUnion& data) const { return data.doubleValue != 0; }
|
||||
|
||||
|
|
@ -4036,7 +4033,6 @@ public:
|
|||
|
||||
int toInt (const ValueUnion& data) const { return data.boolValue ? 1 : 0; };
|
||||
double toDouble (const ValueUnion& data) const { return data.boolValue ? 1.0 : 0.0; }
|
||||
float toFloat (const ValueUnion& data) const { return data.boolValue ? 1.0f : 0.0f; }
|
||||
const String toString (const ValueUnion& data) const { return String::charToString (data.boolValue ? '1' : '0'); }
|
||||
bool toBool (const ValueUnion& data) const { return data.boolValue; }
|
||||
|
||||
|
|
@ -4064,7 +4060,6 @@ public:
|
|||
|
||||
int toInt (const ValueUnion& data) const { return data.stringValue->getIntValue(); };
|
||||
double toDouble (const ValueUnion& data) const { return data.stringValue->getDoubleValue(); }
|
||||
float toFloat (const ValueUnion& data) const { return data.stringValue->getFloatValue(); }
|
||||
const String toString (const ValueUnion& data) const { return *data.stringValue; }
|
||||
bool toBool (const ValueUnion& data) const { return data.stringValue->getIntValue() != 0
|
||||
|| data.stringValue->trim().equalsIgnoreCase ("true")
|
||||
|
|
@ -4148,7 +4143,7 @@ var::~var() throw()
|
|||
|
||||
const var var::null;
|
||||
|
||||
var::var (const var& valueToCopy) : type (valueToCopy.type)
|
||||
var::var (const var& valueToCopy) : type (valueToCopy.type)
|
||||
{
|
||||
type->createCopy (value, valueToCopy.value);
|
||||
}
|
||||
|
|
@ -4178,7 +4173,7 @@ var::var (const char* const value_) : type (VariantType_String::getInstance())
|
|||
value.stringValue = new String (value_);
|
||||
}
|
||||
|
||||
var::var (const juce_wchar* const value_) : type (VariantType_String::getInstance())
|
||||
var::var (const juce_wchar* const value_) : type (VariantType_String::getInstance())
|
||||
{
|
||||
value.stringValue = new String (value_);
|
||||
}
|
||||
|
|
@ -4206,7 +4201,7 @@ bool var::isMethod() const throw() { return type->isMethod(); }
|
|||
|
||||
var::operator int() const { return type->toInt (value); }
|
||||
var::operator bool() const { return type->toBool (value); }
|
||||
var::operator float() const { return type->toFloat (value); }
|
||||
var::operator float() const { return (float) type->toDouble (value); }
|
||||
var::operator double() const { return type->toDouble (value); }
|
||||
const String var::toString() const { return type->toString (value); }
|
||||
var::operator const String() const { return type->toString (value); }
|
||||
|
|
@ -72391,7 +72386,6 @@ public:
|
|||
if (sampleRateDropDown == 0)
|
||||
{
|
||||
addAndMakeVisible (sampleRateDropDown = new ComboBox (String::empty));
|
||||
sampleRateDropDown->addListener (this);
|
||||
|
||||
sampleRateLabel = new Label (String::empty, TRANS ("sample rate:"));
|
||||
sampleRateLabel->attachToComponent (sampleRateDropDown, true);
|
||||
|
|
@ -72419,7 +72413,6 @@ public:
|
|||
if (bufferSizeDropDown == 0)
|
||||
{
|
||||
addAndMakeVisible (bufferSizeDropDown = new ComboBox (String::empty));
|
||||
bufferSizeDropDown->addListener (this);
|
||||
|
||||
bufferSizeLabel = new Label (String::empty, TRANS ("audio buffer size:"));
|
||||
bufferSizeLabel->attachToComponent (bufferSizeDropDown, true);
|
||||
|
|
@ -72427,6 +72420,7 @@ public:
|
|||
else
|
||||
{
|
||||
bufferSizeDropDown->clear();
|
||||
bufferSizeDropDown->removeListener (this);
|
||||
}
|
||||
|
||||
const int numBufferSizes = currentDevice->getNumBufferSizesAvailable();
|
||||
|
|
@ -72445,6 +72439,7 @@ public:
|
|||
}
|
||||
|
||||
bufferSizeDropDown->setSelectedId (currentDevice->getCurrentBufferSizeSamples(), true);
|
||||
bufferSizeDropDown->addListener (this);
|
||||
}
|
||||
}
|
||||
else
|
||||
|
|
@ -81096,14 +81091,17 @@ void Graphics::fillCheckerBoard (const Rectangle<int>& area,
|
|||
if (! clipped.isEmpty())
|
||||
{
|
||||
context->clipToRectangle (clipped);
|
||||
const int startX = area.getX() + ((clipped.getX() - area.getX()) / checkWidth) * checkWidth;
|
||||
const int startY = area.getY() + ((clipped.getY() - area.getY()) / checkHeight) * checkHeight;
|
||||
|
||||
const int checkNumX = (clipped.getX() - area.getX()) / checkWidth;
|
||||
const int checkNumY = (clipped.getY() - area.getY()) / checkHeight;
|
||||
const int startX = area.getX() + checkNumX * checkWidth;
|
||||
const int startY = area.getY() + checkNumY * checkHeight;
|
||||
const int right = clipped.getRight();
|
||||
const int bottom = clipped.getBottom();
|
||||
|
||||
for (int i = 0; i < 2; ++i)
|
||||
{
|
||||
context->setFill (i == 0 ? colour1 : colour2);
|
||||
context->setFill (i == ((checkNumX ^ checkNumY) & 1) ? colour1 : colour2);
|
||||
|
||||
int cy = i;
|
||||
for (int y = startY; y < bottom; y += checkHeight)
|
||||
|
|
|
|||
|
|
@ -64,7 +64,7 @@
|
|||
*/
|
||||
#define JUCE_MAJOR_VERSION 1
|
||||
#define JUCE_MINOR_VERSION 52
|
||||
#define JUCE_BUILDNUMBER 32
|
||||
#define JUCE_BUILDNUMBER 33
|
||||
|
||||
/** Current Juce version number.
|
||||
|
||||
|
|
|
|||
|
|
@ -40,7 +40,6 @@ public:
|
|||
|
||||
virtual int toInt (const ValueUnion&) const { return 0; }
|
||||
virtual double toDouble (const ValueUnion&) const { return 0; }
|
||||
virtual float toFloat (const ValueUnion&) const { return 0; }
|
||||
virtual const String toString (const ValueUnion&) const { return String::empty; }
|
||||
virtual bool toBool (const ValueUnion&) const { return false; }
|
||||
virtual DynamicObject* toObject (const ValueUnion&) const { return 0; }
|
||||
|
|
@ -78,7 +77,6 @@ public:
|
|||
|
||||
int toInt (const ValueUnion& data) const { return data.intValue; };
|
||||
double toDouble (const ValueUnion& data) const { return (double) data.intValue; }
|
||||
float toFloat (const ValueUnion& data) const { return (float) data.intValue; }
|
||||
const String toString (const ValueUnion& data) const { return String (data.intValue); }
|
||||
bool toBool (const ValueUnion& data) const { return data.intValue != 0; }
|
||||
|
||||
|
|
@ -105,7 +103,6 @@ public:
|
|||
|
||||
int toInt (const ValueUnion& data) const { return (int) data.doubleValue; };
|
||||
double toDouble (const ValueUnion& data) const { return data.doubleValue; }
|
||||
float toFloat (const ValueUnion& data) const { return (float) data.doubleValue; }
|
||||
const String toString (const ValueUnion& data) const { return String (data.doubleValue); }
|
||||
bool toBool (const ValueUnion& data) const { return data.doubleValue != 0; }
|
||||
|
||||
|
|
@ -132,7 +129,6 @@ public:
|
|||
|
||||
int toInt (const ValueUnion& data) const { return data.boolValue ? 1 : 0; };
|
||||
double toDouble (const ValueUnion& data) const { return data.boolValue ? 1.0 : 0.0; }
|
||||
float toFloat (const ValueUnion& data) const { return data.boolValue ? 1.0f : 0.0f; }
|
||||
const String toString (const ValueUnion& data) const { return String::charToString (data.boolValue ? '1' : '0'); }
|
||||
bool toBool (const ValueUnion& data) const { return data.boolValue; }
|
||||
|
||||
|
|
@ -161,7 +157,6 @@ public:
|
|||
|
||||
int toInt (const ValueUnion& data) const { return data.stringValue->getIntValue(); };
|
||||
double toDouble (const ValueUnion& data) const { return data.stringValue->getDoubleValue(); }
|
||||
float toFloat (const ValueUnion& data) const { return data.stringValue->getFloatValue(); }
|
||||
const String toString (const ValueUnion& data) const { return *data.stringValue; }
|
||||
bool toBool (const ValueUnion& data) const { return data.stringValue->getIntValue() != 0
|
||||
|| data.stringValue->trim().equalsIgnoreCase ("true")
|
||||
|
|
@ -250,7 +245,7 @@ var::~var() throw()
|
|||
const var var::null;
|
||||
|
||||
//==============================================================================
|
||||
var::var (const var& valueToCopy) : type (valueToCopy.type)
|
||||
var::var (const var& valueToCopy) : type (valueToCopy.type)
|
||||
{
|
||||
type->createCopy (value, valueToCopy.value);
|
||||
}
|
||||
|
|
@ -280,7 +275,7 @@ var::var (const char* const value_) : type (VariantType_String::getInstance())
|
|||
value.stringValue = new String (value_);
|
||||
}
|
||||
|
||||
var::var (const juce_wchar* const value_) : type (VariantType_String::getInstance())
|
||||
var::var (const juce_wchar* const value_) : type (VariantType_String::getInstance())
|
||||
{
|
||||
value.stringValue = new String (value_);
|
||||
}
|
||||
|
|
@ -309,7 +304,7 @@ bool var::isMethod() const throw() { return type->isMethod(); }
|
|||
|
||||
var::operator int() const { return type->toInt (value); }
|
||||
var::operator bool() const { return type->toBool (value); }
|
||||
var::operator float() const { return type->toFloat (value); }
|
||||
var::operator float() const { return (float) type->toDouble (value); }
|
||||
var::operator double() const { return type->toDouble (value); }
|
||||
const String var::toString() const { return type->toString (value); }
|
||||
var::operator const String() const { return type->toString (value); }
|
||||
|
|
|
|||
|
|
@ -33,7 +33,7 @@
|
|||
*/
|
||||
#define JUCE_MAJOR_VERSION 1
|
||||
#define JUCE_MINOR_VERSION 52
|
||||
#define JUCE_BUILDNUMBER 32
|
||||
#define JUCE_BUILDNUMBER 33
|
||||
|
||||
/** Current Juce version number.
|
||||
|
||||
|
|
|
|||
|
|
@ -514,7 +514,6 @@ public:
|
|||
if (sampleRateDropDown == 0)
|
||||
{
|
||||
addAndMakeVisible (sampleRateDropDown = new ComboBox (String::empty));
|
||||
sampleRateDropDown->addListener (this);
|
||||
|
||||
sampleRateLabel = new Label (String::empty, TRANS ("sample rate:"));
|
||||
sampleRateLabel->attachToComponent (sampleRateDropDown, true);
|
||||
|
|
@ -542,7 +541,6 @@ public:
|
|||
if (bufferSizeDropDown == 0)
|
||||
{
|
||||
addAndMakeVisible (bufferSizeDropDown = new ComboBox (String::empty));
|
||||
bufferSizeDropDown->addListener (this);
|
||||
|
||||
bufferSizeLabel = new Label (String::empty, TRANS ("audio buffer size:"));
|
||||
bufferSizeLabel->attachToComponent (bufferSizeDropDown, true);
|
||||
|
|
@ -550,6 +548,7 @@ public:
|
|||
else
|
||||
{
|
||||
bufferSizeDropDown->clear();
|
||||
bufferSizeDropDown->removeListener (this);
|
||||
}
|
||||
|
||||
const int numBufferSizes = currentDevice->getNumBufferSizesAvailable();
|
||||
|
|
@ -568,6 +567,7 @@ public:
|
|||
}
|
||||
|
||||
bufferSizeDropDown->setSelectedId (currentDevice->getCurrentBufferSizeSamples(), true);
|
||||
bufferSizeDropDown->addListener (this);
|
||||
}
|
||||
}
|
||||
else
|
||||
|
|
|
|||
|
|
@ -500,14 +500,17 @@ void Graphics::fillCheckerBoard (const Rectangle<int>& area,
|
|||
if (! clipped.isEmpty())
|
||||
{
|
||||
context->clipToRectangle (clipped);
|
||||
const int startX = area.getX() + ((clipped.getX() - area.getX()) / checkWidth) * checkWidth;
|
||||
const int startY = area.getY() + ((clipped.getY() - area.getY()) / checkHeight) * checkHeight;
|
||||
|
||||
const int checkNumX = (clipped.getX() - area.getX()) / checkWidth;
|
||||
const int checkNumY = (clipped.getY() - area.getY()) / checkHeight;
|
||||
const int startX = area.getX() + checkNumX * checkWidth;
|
||||
const int startY = area.getY() + checkNumY * checkHeight;
|
||||
const int right = clipped.getRight();
|
||||
const int bottom = clipped.getBottom();
|
||||
|
||||
for (int i = 0; i < 2; ++i)
|
||||
{
|
||||
context->setFill (i == 0 ? colour1 : colour2);
|
||||
context->setFill (i == ((checkNumX ^ checkNumY) & 1) ? colour1 : colour2);
|
||||
|
||||
int cy = i;
|
||||
for (int y = startY; y < bottom; y += checkHeight)
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue