Browse Source

Disable the effect of setPaintingIsUnclipped on components with children

pull/22/head
Tom Poole 3 years ago
parent
commit
87a4ab4a78
2 changed files with 3 additions and 3 deletions
  1. +1
    -1
      modules/juce_gui_basics/components/juce_Component.cpp
  2. +2
    -2
      modules/juce_gui_basics/components/juce_Component.h

+ 1
- 1
modules/juce_gui_basics/components/juce_Component.cpp View File

@@ -1997,7 +1997,7 @@ void Component::paintComponentAndChildren (Graphics& g)
{
auto clipBounds = g.getClipBounds();
if (flags.dontClipGraphicsFlag)
if (flags.dontClipGraphicsFlag && getNumChildComponents() == 0)
{
paint (g);
}


+ 2
- 2
modules/juce_gui_basics/components/juce_Component.h View File

@@ -1113,10 +1113,10 @@ public:
number of simple components being rendered, and where they are guaranteed never to do any drawing
beyond their own boundaries, setting this to true will reduce the overhead involved in clipping
the graphics context that gets passed to the component's paint() callback.
If you enable this mode, you'll need to make sure your paint method doesn't call anything like
Graphics::fillAll(), and doesn't draw beyond the component's bounds, because that'll produce
artifacts. Your component also can't have any child components that may be placed beyond its
bounds.
artifacts. This option will have no effect on components that contain any child components.
*/
void setPaintingIsUnclipped (bool shouldPaintWithoutClipping) noexcept;


Loading…
Cancel
Save