I’m finally merging from Juce 1.41 and here are some improvements / bugfixes / requests.
I’ll just list the diffs from svn revision 115 to our modified version :
// juce_linux_SystemStats.cpp (326)
double Time::getMillisecondCounterHiRes() throw()
{
// was: * (1.0 / 1000000.0)
return Time::getHighResolutionTicks() * (1.0 / 1000.0);
}
[code]// juce_DirectoryContentsList.cpp (188)
// In our application, we use a directoryContentList object in a thread, that sends message to another thread, both of them are not the juce message loop. If we sendChangeMessage is called, it will have to wait for the message loop to get our event. Maybe it should be an option ?
void DirectoryContentsList::changed()
{
// was: sendChangeMessage (this);
sendSynchronousChangeMessage (this);
}
[/code]
// juce_StretchableLayoutManager.h (103)
void StretchableLayoutManager::setTotalSize (const int newTotalSize)
{
// changes with setItemLayout() where discarded by this test
//if (totalSize != newTotalSize)
[code] // juce_Viewport.h (217)
// theses methods let us use a Viewport with something else inside,
like adding scrollbars to an OpenGLComponent
virtual int getContentX() const throw () { return contentComp ? contentComp->getX() : 0; }
virtual int getContentY() const throw () { return contentComp ? contentComp->getY() : 0; }
virtual int getContentWidth() const throw () { return contentComp ? contentComp->getWidth() : 0; }
virtual int getContentHeight() const throw () { return contentComp ? contentComp->getHeight() : 0; }
// ...
protected:
void updateVisibleRegion();
// in juce_StretchableLayoutManager.cpp
// replace occurences of contentComp->getX() by getContentX()
// and so on …
[/code]
[code] // juce_ColourSelector.h (61)
// would be nice to be able to control what the background looks like
showColourspace = 1 << 3, /**< if set, a big HSV selector is shown. */
dontClearBackground = 1 << 4 /* if set, paint() dont clears the background of the component */
// ...
// moving this function from private to protected to lets us call it from inherited class to update the values
void sliderValueChanged (Slider*);
// in juce_ColourSelector.cpp (476)
if ((flags & dontClearBackground) == 0)
g.fillAll (Colour::greyLevel (0.9f));
[/code]
// juce_XmlDocument.cpp (478)
// More information about last error is useful when it happens
setLastError (T("illegal characters found in element ") + node->getTagName() + T(": '") + c + T("'"), false);
[code] // juce_XmlElement.h (159)
// very useful to create a text node when you don’t know the parent yet
static XmlElement* createTextElement(const String& text) throw();
// juce_XmlElement.cpp
XmlElement* XmlElement::createTextElement(const String& text) throw()
{
XmlElement* const e = new XmlElement ((int) 0);
e->setText (text);
return e;
}[/code]