void Drawable::nonConstDraw (Graphics& g, float opacity, const AffineTransform& transform) { Graphics::ScopedSaveState ss (g); g.addTransform (AffineTransform::translation ((float) -(originRelativeToComponent.x), (float) -(originRelativeToComponent.y)) .followedBy (getTransform()) .followedBy (transform)); applyDrawableClipPath (g); if (! g.isClipEmpty()) { if (opacity < 1.0f) { g.beginTransparencyLayer (opacity); paintEntireComponent (g, true); g.endTransparencyLayer(); } else { paintEntireComponent (g, true); } } }
void OpenGLComponent::paintSelf (OpenGLGraphicsContext& glRenderer) { Graphics g (&glRenderer); #if JUCE_ENABLE_REPAINT_DEBUGGING g.saveState(); #endif JUCE_TRY { paintEntireComponent (g, false); } JUCE_CATCH_EXCEPTION #if JUCE_ENABLE_REPAINT_DEBUGGING // enabling this code will fill all areas that get repainted with a colour overlay, to show // clearly when things are being repainted. g.restoreState(); static Random rng; g.fillAll (Colour ((uint8) rng.nextInt (255), (uint8) rng.nextInt (255), (uint8) rng.nextInt (255), (uint8) 0x50)); #endif }
void Drawable::nonConstDraw (Graphics& g, float opacity, const AffineTransform& transform) { Graphics::ScopedSaveState ss (g); const float oldOpacity = getAlpha(); setAlpha (opacity); g.addTransform (AffineTransform::translation ((float) -originRelativeToComponent.getX(), (float) -originRelativeToComponent.getY()) .followedBy (getTransform()) .followedBy (transform)); if (! g.isClipEmpty()) paintEntireComponent (g, false); setAlpha (oldOpacity); }