Collection of tools useful for audio production
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

54 lines
1.4KB

  1. /*
  2. * Patchbay Canvas engine using QGraphicsView/Scene
  3. * Copyright (C) 2010-2012 Filipe Coelho <falktx@falktx.com>
  4. *
  5. * This program is free software; you can redistribute it and/or modify
  6. * it under the terms of the GNU General Public License as published by
  7. * the Free Software Foundation; either version 2 of the License, or
  8. * any later version.
  9. *
  10. * This program is distributed in the hope that it will be useful,
  11. * but WITHOUT ANY WARRANTY; without even the implied warranty of
  12. * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
  13. * GNU General Public License for more details.
  14. *
  15. * For a full copy of the GNU General Public License see the COPYING file
  16. */
  17. #include "canvasboxshadow.h"
  18. #include "canvasbox.h"
  19. START_NAMESPACE_PATCHCANVAS
  20. CanvasBoxShadow::CanvasBoxShadow(QObject* parent) :
  21. QGraphicsDropShadowEffect(parent)
  22. {
  23. m_fakeParent = 0;
  24. setBlurRadius(20);
  25. setColor(canvas.theme->box_shadow);
  26. setOffset(0, 0);
  27. }
  28. void CanvasBoxShadow::setFakeParent(CanvasBox* fakeParent)
  29. {
  30. m_fakeParent = fakeParent;
  31. }
  32. void CanvasBoxShadow::setOpacity(float opacity)
  33. {
  34. QColor color(canvas.theme->box_shadow);
  35. color.setAlphaF(opacity);
  36. setColor(color);
  37. }
  38. void CanvasBoxShadow::draw(QPainter* painter)
  39. {
  40. if (m_fakeParent)
  41. m_fakeParent->repaintLines();
  42. QGraphicsDropShadowEffect::draw(painter);
  43. }
  44. END_NAMESPACE_PATCHCANVAS