1
0
Fork 0
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:
Julian Storer 2010-07-01 20:00:20 +01:00
parent a9b1c0cd4e
commit 258414bad2
7 changed files with 25 additions and 29 deletions

View file

@ -691,7 +691,7 @@ private:
ParamHolder (uint32_t num) { params = new var [num]; }
~ParamHolder() { delete[] params; }
var* params;
var* params;
};
ParamHolder params (argCount);

View file

@ -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)

View file

@ -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.

View file

@ -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); }

View file

@ -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.

View file

@ -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

View file

@ -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)